这一个很简单,但似乎在困扰我。
我有以下文字:
for months to
我正在尝试将其与以下正则表达式匹配:
for\s*months\s*to
我把这个正则表达式看作:
对我来说,这应该匹配,但它不会。任何人都可以看到我可能出错的地方。
答案 0 :(得分:3)
这是因为尾随空格。
试试这个:
Pattern p = Pattern.compile("for\\s*months\\s*to\\s*");
Matcher m = p.matcher("for months to ");
System.out.println(m.matches());
答案 1 :(得分:1)
您很可能拥有前面或后面的空格。使用String.matches(String regex)
,您必须匹配整个字符串。
尝试"\\s*for\\s+months\\s+to\\s*"