ฉันพยายามจับคู่ข้อความหลายบรรทัดโดยใช้ 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?