Java で正規表現を使用してユーザー入力を検証し、英数字と「_」に制限したいと考えています。また、最初の文字は英数字でなければなりません。しかし、私は正規表現についてまったく知識がありません。どんな助けでも大歓迎です。
ありがとうございます
Java で正規表現を使用してユーザー入力を検証し、英数字と「_」に制限したいと考えています。また、最初の文字は英数字でなければなりません。しかし、私は正規表現についてまったく知識がありません。どんな助けでも大歓迎です。
ありがとうございます
これを試して:
String regex = "[a-zA-Z0-9]\\w*";
if (input.matches(regex)) {
// input is OOK
}
参考までに、正規表現\w
は「英数字とアンダースコア」の省略形です。つまり、[a-zA-Z0-9_]
細かいマニュアルを読む(java.util.regex.Pattern)
次のようなことを試すことができます (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