「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();
}
}
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();
}
}
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が正規表現式にマッチしません。