匹配下面字符串的正则表达式可能是什么
String str = "<Element>\r\n <Sub>regular</Sub></Element>";
有一个
carriage return "\r", new line character "\n" and a space after <Element>.
我的代码如下
if(str.matches("<Element>([\\s])<Sub>(.*)"))
{
System.out.println("Matches");
}
最佳答案
使用“点匹配换行符”开关:
if (str.matches("(?s)<Element>\\s*<Sub>(.*)"))
打开开关后,\s
将匹配换行符。
我还修复了您的正则表达式,删除了两组冗余括号,并在空白正则表达式之后添加了关键的 *
。
关于java - 如何使用 Java 中的正则表达式匹配函数来匹配具有元字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15757683/