我想在java中使用正则表达式来验证用户输入以将其限制为字母数字字符和'_'。此外,第一个字符必须是字母数字。但是,我对正则表达式一无所知。任何帮助都非常感激。
谢谢Aashish
答案 0 :(得分:6)
试试这个:
String regex = "[a-zA-Z0-9]\\w*";
if (input.matches(regex)) {
// input is OOK
}
仅供参考,正则表达式\w
是“字母数字和下划线”的简写,即[a-zA-Z0-9_]
答案 1 :(得分:2)
Read The Fine Manual(java.util.regex.Pattern)
答案 2 :(得分: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