-3

Java で正規表現を使用してユーザー入力を検証し、英数字と「_」に制限したいと考えています。また、最初の文字は英数字でなければなりません。しかし、私は正規表現についてまったく知識がありません。どんな助けでも大歓迎です。

ありがとうございます

4

3 に答える 3

6

これを試して:

String regex = "[a-zA-Z0-9]\\w*";

if (input.matches(regex)) {
    // input is OOK
}

参考までに、正規表現\wは「英数字とアンダースコア」の省略形です。つまり、[a-zA-Z0-9_]

于 2013-02-18T15:36:35.870 に答える
2

細かいマニュアルを読む(java.util.regex.Pattern)

于 2013-02-18T15:37:50.210 に答える
0

次のようなことを試すことができます (true - 制限された文字が存在する場合):

Pattern p = Pattern.compile("[a-zA-Z0-9_]");
Matcher m = p.matcher("12A3");
System.out.println(m.find());

m = p.matcher("&*#");
System.out.println(m.find());

>> true
>> false
于 2013-02-18T15:39:59.443 に答える