単純な文字列比較であれば、Stringのequals/startsWith/endsWithが利用できますが、複雑な比較をする場合は正規表現を利用します。
ここでは、よく利用する正規表現の例をあげます。
使い方は簡単です。
1 2 3 4 5 6 7 8 9 10 |
Pattern p = Pattern.compile("regex"); // regexで正規表現を文字列で定義 Matcher m = p.matcher("input string"); // input stringの中から検索する boolean res = m.matches(); // 見つかったらtrue/見つからなければfalse /* * コンパイルせずに利用することも可能だが、 * 複数回比較をするならコンパイルした方が効率的になります。 */ boolean res = Pattern.matches("regex", "input string"); |
よく利用する正規表現のパターンも紹介します。
詳しくはJavaのAPIを参照してください。
[abc] | a、b、または c (単純クラス) |
[^abc] | a、b、c 以外の文字 (否定) |
境界正規表現エンジン | |
---|---|
^ | 行の先頭 |
$ | 行の末尾 |
\b | 単語境界 |
\B | 非単語境界 |
\A | 入力の先頭 |
\G | 前回のマッチの末尾 |
\Z | 最後の行末記号がある場合は、それを除く入力の末尾 |
\z | 入力の末尾 |
論理演算子 | |
---|---|
XY | X の直後に Y |
X|Y | X または Y |