java新行正则表达式
嗨,我正在为Java中的正则表达式捕获正确的组。(我的版本是1.8.091) 这是给定的文档: **java新行正则表达式,java,regex,eclipse,newline,Java,Regex,Eclipse,Newline,嗨,我正在为Java中的正则表达式捕获正确的组。(我的版本是1.8.091) 这是给定的文档: ** Hi你好bla bla嗨 你好 ** 我要编译的模式是 String pattern = "<ABC>((.|\\n)+?)</ABC>"; String pattern=“((.|\\n)+?)”; 我想捕获第一个“Hi Hello”,它位于同一行,第二个“Hi Hello”由于输入(\n)而写在两个不同的行中。但这行不通。这只捕获第一个“Hi Hello”。如何
Hi你好bla bla嗨
你好
**
我要编译的模式是
String pattern = "<ABC>((.|\\n)+?)</ABC>";
String pattern=“((.|\\n)+?)”;
我想捕获第一个“Hi Hello”,它位于同一行,第二个“Hi Hello”由于输入(\n)而写在两个不同的行中。但这行不通。这只捕获第一个“Hi Hello”。如何更改上面的正则表达式?默认情况下。匹配除新行字符外的所有字符 在这种情况下,您将需要DOTALL选项,它将使。匹配任何字符,包括新行字符。DOTALL选项可以内联指定为(?s)。例如:
(?s)(.|\\n)+?)
只是想说明一下-您想使用此模式进行两种不同的匹配吗?首先是。
,然后是第二个。
?但这就是为什么他用自己的模式写(.|\\n)
,意思是
或新行
。
String pattern = "<ABC>((.|\\n)+?)</ABC>";