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 に答える