Regex同时显示不同的返回不同的结果

问题描述 投票:0回答:1
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Validate {

    public static void main(String[] args) {

        Matcher matcher;
        Pattern regex;
        String str="David";
        regex =Pattern.compile("^[A-Za-z]*$", Pattern.CASE_INSENSITIVE);
        matcher= regex.matcher(str);
        System.out.println("First result="+matcher.find());  //true
        System.out.println("Second result="+matcher.find()); //false

    }
}
java regex string pattern-matching matcher
1个回答
0
投票

尝试查找输入序列的下一个子序列,匹配模式。

此方法从此匹配器区域的开头开始,或者,如果该方法的先前调用成功,并且匹配器具有尚未重设,第一个字符与前一场比赛。

如果匹配成功,则可以通过开始,结束和分组方法。

因此,正如Tim所提到的,要运行代码,必须在再次调用Matcher.reset()之前先调用Matcher.find()

© www.soinside.com 2019 - 2024. All rights reserved.