単純な文字列比較であれば、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 |