繁体   English   中英

Java中正则表达式的部分匹配

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM