当我认为它应该返回true时,下面的代码返回false。谁能告诉我为什么? 它使用java.util.regex.Pattern来解析正则表达式。
Pattern.compile("^\|:\|$".matcher("| |").matches();
答案 0 :(得分:2)
字符串文字中的\
必须转义为\\
。
如果您想匹配其中的任何内容,请使用.*
,而不是:
。
在Java中使用matches
方法时,您不需要添加字符串边界^
和$
,因为此函数仅在返回true
时才会它匹配整个字符串。
你似乎想要
Pattern.compile("\\|.*\\|").matcher("| |").matches();