简单的java正则表达式不匹配

时间:2014-03-18 13:10:56

标签: java regex

我的正则表达式返回false,无法理解为什么。

Pattern patt = Pattern.compile("\\d+");
patt.matcher("a 18c1").matches(); //returning false

我还尝试了[0-9]+(\\d+)([0-9]+),他们也没有工作...... 你能帮助我吗?感谢

1 个答案:

答案 0 :(得分:0)

这是因为您使用.matches()。你想要的是.find()

.matches()用词不当;它将尝试匹配整个输入。使用.find()完成正则表达式匹配:

final Matcher matcher = patt.matcher("a 18c1");
if (matcher.find())
    System.out.println(matcher.group());