如何使用正则表达式匹配具有元字符的字符串匹配Java中的函数

时间:2013-04-02 06:37:05

标签: java regex string string-matching metacharacters

在String

下面可以匹配的正则表达式是什么
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");
}

1 个答案:

答案 0 :(得分:1)

使用“dot matches newline”开关:

if (str.matches("(?s)<Element>\\s*<Sub>(.*)"))

开启此开关后,\s将匹配换行符。

我修复了你的正则表达式,移除了两组冗余括号,并在空格正则表达式之后添加了关键的*