Javaを使用して複数行のテキストを照合しようとしています。Pattern
クラスをPattern.MULTILINE
修飾子とともに使用すると、一致させることはできますが、(?m).
と同じパターンを(?m)
使用String.matches
しても機能しないようです。
私は何かが欠けていると確信していますが、何がわからないのですか?正規表現はあまり得意ではありません。
これは私が試したものです
String test = "User Comments: This is \t a\ta \n test \n\n message \n";
String pattern1 = "User Comments: (\\W)*(\\S)*";
Pattern p = Pattern.compile(pattern1, Pattern.MULTILINE);
System.out.println(p.matcher(test).find()); //true
String pattern2 = "(?m)User Comments: (\\W)*(\\S)*";
System.out.println(test.matches(pattern2)); //false - why?