正则表达式" ^ \\ |:\\ | $"没有检测到字符串开头和结尾的管道

时间:2016-08-31 12:51:26

标签: java regex

当我认为它应该返回true时,下面的代码返回false。谁能告诉我为什么? 它使用java.util.regex.Pattern来解析正则表达式。

Pattern.compile("^\|:\|$".matcher("|   |").matches();

1 个答案:

答案 0 :(得分:2)

字符串文字中的\必须转义为\\

如果您想匹配其中的任何内容,请使用.*,而不是:

在Java中使用matches方法时,您不需要添加字符串边界^$,因为此函数仅在返回true时才会它匹配整个字符串。

你似乎想要

Pattern.compile("\\|.*\\|").matcher("| |").matches();