【发布时间】:2017-02-28 08:28:51
【问题描述】:
考虑以下代码。
String s = "000000Xabcdefgh\nijkX00000000";
s = s.replaceAll("X.*X", "");
System.out.println(s);
我希望Xabcdefgh\nijkX 被替换为空字符串,但由于中间有一个换行符,因此没有任何内容被替换。为什么正则表达式匹配在换行处终止?匹配正则表达式时如何忽略换行符?
【问题讨论】:
-
s= s.replaceAll("X([^X]*)X", "");它替换了两个 X 之间的所有内容。