[英]Partial match for regular expression in Java
我如何理解正则表达式是否部分匹配其主题?
我尝试了这个:
Pattern.compile("^\\d").matcher("01L").hitEnd()
和这个:
Pattern.compile("^\\d").matcher("01L").matches()
并且它们都是假的,我想测试字符串是否以数字开头。
使用matcher.find()
方法:
boolean valid = Pattern.compile("^\\d").matcher("01L").find(); //true
PS:如果您使用循环find
或多次find
,最好这样做:
Pattern p = Pattern.compile("^\\d"); // outside loop
boolean valid = p.matcher("01L").find(); // repeat calls
您得到:
matches
尝试将整个输入与模式进行匹配,因此返回false
。 hitEnd
返回true
,因为不是,则返回false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.