【发布时间】:2019-03-22 17:16:50
【问题描述】:
知道为什么这个 Java 测试用例会失败吗?
@Test
public void newlineParse() throws Exception {
Pattern pat = Pattern.compile("a.*b", Pattern.MULTILINE);
assertTrue(pat.matcher("a\nb").find());
}
【问题讨论】:
-
可能是因为
.匹配除行终止符以外的任何字符。 -
我还以为是
DOTALL而不是MULTILINE,但已经有一段时间了。 -
正则表达式。匹配除行终止符以外的任何字符,除非指定了 DOTALL 标志。来自the docs
-
是的。 MULTILINE 修改
^和$的行为 -
你们真的需要停止阅读文档了。如果每个人都突然开始阅读文档,我们怎么会有任何关于 SO 的问题?
标签: java regex newline multiline