概要
Javaで「CASE_INSENSITIVEフラグ(大文字と小文字を区別しない)」の動作を確認してみました。
以下のページを参考にしました。
実装
以下のファイルを作成しました。
JSample17_1.java
import java.util.regex.*;
class JSample17_1{
public static void main(String[] args){
String[] target = {"apple", "Apple", "APPLE"};
String regex = "apple";
Pattern p1 = Pattern.compile(regex);
for (int i = 0; i < target.length ; i++){
Matcher m = p1.matcher(target[i]);
System.out.println(target[i] + ":" + m.find());
}
System.out.println("---- ----");
Pattern p2 = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
for (int i = 0; i < target.length ; i++){
Matcher m = p2.matcher(target[i]);
System.out.println(target[i] + ":" + m.find());
}
}
}
以下のコマンドを実行しました。
$ javac JSample17_1.java
$ java JSample17_1
apple:true
Apple:false
APPLE:false
---- ----
apple:true
Apple:true
APPLE:true
まとめ
何かの役に立てばと。