java新行正则表达式

时间:2017-05-01 05:22:20

标签: java regex eclipse newline

您好我正在为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;。我该如何更改上面的正则表达式?

1 个答案:

答案 0 :(得分:0)

默认情况下。匹配除新换行符之外的每个字符。

在这种情况下,您将需要DOTALL选项。匹配任何字符,包括换行符。 DOTALL选项可以内联指定为(?s)。例如:

(?s)<ABC>((.|\\n)+?)</ABC>