「Java」Pattern.UNICODE_CASEでUnicode大文字小文字を区別しないサンプル

説明
public static final int UNICODE_CASE
Unicodeに準拠した大文字と小文字を区別しないマッチングを有効にします。
Javaコード

package com.arkgame.study;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class UnicodeCasenDemo {

      private static final String pt = "[a-zA-Z]+";

      public static void main(String[] args) {
            Pattern ptn = Pattern.compile(pt, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
            /// 全角大文字 半角小文字
            String strA = "TEST abc";
            // 全角大文字
            String strB = "THIS IS A TEST";
            // 半角小文字
            String strC = "data11";
            // 数字 符号
            String strD = "123#!";
            if (func(ptn, strA) == true) {
                  System.out.println("文字列Aが正規表現式にマッチします。");
            } else {
                  System.out.println("文字列Aが正規表現式にマッチしません。");
            }
            if (func(ptn, strB) == true) {
                  System.out.println("文字列Bが正規表現式にマッチします。");
            } else {
                  System.out.println("文字列Bが正規表現式にマッチしません。");
            }
            if (func(ptn, strC) == true) {
                  System.out.println("文字列Cが正規表現式にマッチします。");
            } else {
                  System.out.println("文字列Cが正規表現式にマッチしません。");
            }
            if (func(ptn, strD) == true) {
                  System.out.println("文字列Dが正規表現式にマッチします。");
            } else {
                  System.out.println("文字列Dが正規表現式にマッチしません。");
            }

      }

      public static boolean func(Pattern pattern, String target) {
            // 正規表現エンジンを作成
            Matcher mt = pattern.matcher(target);
            return mt.find();
      }

}

結果
文字列Aが正規表現式にマッチします。
文字列Bが正規表現式にマッチします。
文字列Cが正規表現式にマッチします。
文字列Dが正規表現式にマッチしません。

Java

Posted by arkgame