我试图使用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?
Run Code Online (Sandbox Code Playgroud) 我需要正则表达式中的逻辑AND.
就像是
杰克和詹姆斯
同意以下字符串
'你好杰克在这里是詹姆斯 '
"你好詹姆斯在这里是杰克 "
如何将任何一个字符与正则表达式匹配?
我正在写这个问题和以下答案作为一般参考.关于Stack Overflow的许多其他问题听起来像是答应快速回答,但实际上是在询问更具体的内容.
我的参考答案如下.