Tob*_*bia 1 java regex string pattern-matching
如果正则表达式与其主题部分匹配,我如何理解?
我试过这个:
Pattern.compile("^\\d").matcher("01L").hitEnd()
Run Code Online (Sandbox Code Playgroud)
还有这个:
Pattern.compile("^\\d").matcher("01L").matches()
Run Code Online (Sandbox Code Playgroud)
并且它们都是假的,我想测试字符串是否以数字开头.
使用matcher.find()方法:
boolean valid = Pattern.compile("^\\d").matcher("01L").find(); //true
Run Code Online (Sandbox Code Playgroud)
PS:如果您find在循环中使用或多次使用,最好这样做:
Pattern p = Pattern.compile("^\\d"); // outside loop
boolean valid = p.matcher("01L").find(); // repeat calls
Run Code Online (Sandbox Code Playgroud)
你得到:
matches尝试将整个输入与模式匹配,因此返回false.hitEnd返回true如果输入的结尾是由搜索引擎由此匹配执行的最后匹配操作击中,因为它没有你false