我编写了一个正则表达式来验证名称。名称可以以字母开头,后跟字母,数字,空格或_
。
我写的正则表达式是:
private static final String REGEX = "([a-zA-Z][a-zA-Z0-9 _]*)*";
如果输入为:“kasklfhklasdhklghjsdkgsjkdbgjsbdjKg;
”,则该程序会卡在matcher.matches()
上。
Pattern pattern = Pattern.compile(REGEX);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println("Pattern Matches");
} else {
System.out.println("Match Declined");
}
如何优化正则表达式?
答案 0 :(得分:4)
将正则表达式更改为:
private static final String REGEX = "[a-zA-Z][a-zA-Z0-9 _]*";
它会匹配字符串中的字符串。