-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

您可以尝试这样的事情(正确 - 如果存在受限字符):

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 回答