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?