[英]Simple java regex not matching
我的正则表达式返回假,无法理解原因。
Pattern patt = Pattern.compile("\\d+");
patt.matcher("a 18c1").matches(); //returning false
我也试过[0-9]+
, (\\\\d+)
, ([0-9]+)
,它们也没有用。 谢谢
这是因为您使用.matches()
。 您想要的是.find()
。
.matches()
是用词不当; 它将尝试与整个输入匹配。 正则表达式匹配使用.find()
:
final Matcher matcher = patt.matcher("a 18c1");
if (matcher.find())
System.out.println(matcher.group());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.