Javaでは 以下の2つのクラスを使います。
Pattern pattern = Pattern.compile("abc[0-9]+"); ・・・と、まず、パターンを作成します。 次に 実際に マッチしてくれるものを作成します。 Matcher macher = pattern.matcher("abc00006");
Matcher では find() メソッドを使って 次々と一致部分を探しに行きます。 コード的には以下のようにして確認できます。 public static void match(String pattern, String value) {
Matcher macher = Pattern.compile(pattern).matcher(value); int count = 0; System.out.println("MATCHES is " + macher.matches() + " value=" + value + ", pattern=" + pattern); macher.reset(); boolean result = macher.find(); if (result) { System.out.println("MATCH OK! value=" + value + ", pattern=" + pattern); do { count++; System.out.println(" find OK!"); result = macher.find(); } while (result); } else { System.out.println(" find NG!"); } System.out.println(); } このメソッドをつかって、 match("abc[0-9]+", "abc00006");
とすると MATCHES is true value=abc00006, pattern=abc[0-9]+と結果が返ってきます。 match("aaa_", "aaa_bbb_aaa_bbb_ccc_ddd_aaa_bbb_"); とするとMATCHES is false value=aaa_bbb_aaa_bbb_ccc_ddd_aaa_bbb_, pattern=aaa_となります。 |