1

我写了一个正则表达式来验证一个名字。名称可以以字母开头,后面可以跟字母、数字、空格或_. 我写的正则表达式是:

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");
}

如何优化正则表达式?

4

1 回答 1

4

将您的正则表达式更改为:

private static final String REGEX = "[a-zA-Z][a-zA-Z0-9 _]*";

它会在一次点击中匹配字符串。

于 2012-12-08T13:35:25.530 回答