ディレクトリ(フォルダ)だったり・・・
大文字と小文字が揺らいだデータだったり・・・(;´Д`)
というわけで、大文字と小文字を区別しない場合は、多々あります。
大文字と小文字それぞれで正規表現を組めば良いのですが、こんなことはしなくてもOKです(`・ω・´)
大文字と小文字を区別しないで正規表現でチェックするサンプル
アルファベットの大文字と小文字を区別せず、正規表現でチェックしてみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import java.util.regex.Pattern; public class InsensitiveRegTest { public static void main(String[] args) { //大文字と小文字を区別してチェック System.out.println("-- 大文字と小文字を区別してチェック --"); checkHoge("hoge"); checkHoge("HOGE"); checkHoge("hoGe"); checkHoge("fuga"); //大文字と小文字を区別しないでチェック System.out.println("-- 大文字と小文字を区別しないでチェック --"); checkHogeInsensitive("hoge"); checkHogeInsensitive("HOGE"); checkHogeInsensitive("hoGe"); checkHogeInsensitive("fuga"); } public static void checkHoge(String str) { Pattern pattern = Pattern.compile("hoge"); System.out.println(str + ":" + pattern.matcher(str).matches()); } public static void checkHogeInsensitive(String str) { Pattern pattern = Pattern.compile("hoge",Pattern.CASE_INSENSITIVE); System.out.println(str + ":" + pattern.matcher(str).matches()); } } |
実行結果
1 2 3 4 5 6 7 8 9 10 | -- 大文字と小文字を区別してチェック -- hoge:true HOGE:false hoGe:false fuga:false -- 大文字と小文字を区別しないでチェック -- hoge:true HOGE:true hoGe:true fuga:false |
サンプルの解説
Pattern#compile(String)を使うと大文字と小文字を区別しますが、第二引数にPattern.CASE_INSENSITIVEを指定することで、大文字と小文字を区別しなくなります。
大文字と小文字をそれぞれ区別してチェックするには・・?
アルファベットの大文字だけをチェックする場合は、こちらを見てください。