您好我正在为Java中的正则表达式捕获正确的组。 (我的版本是1.8.0_91)
这是给定的文件:
**
<ABC>Hi Hello</ABC> bla bla bla <ABC>Hi
Hello</ABC>
**
我的编译模式是
String pattern = "<ABC>((.|\\n)+?)</ABC>";
我想首先抓住你们嗨你好&#39;这是在同一行,第二个&#39;你好你好&#39;由于输入(\ n)而写成两行不同的行。但它不会起作用。这只捕获了第一个“你好”#Hello。&#39;。我该如何更改上面的正则表达式?
答案 0 :(得分:0)
默认情况下。匹配除新换行符之外的每个字符。
在这种情况下,您将需要DOTALL选项。匹配任何字符,包括换行符。 DOTALL选项可以内联指定为(?s)。例如:
(?s)<ABC>((.|\\n)+?)</ABC>