我需要在java中添加正则表达式来测试字符串是否只包含字母数字(带或不带" - ").例如:
ADB123
ABC-D1
12ABCD
A-BCD1
Run Code Online (Sandbox Code Playgroud)
等等
你可以试试
for (String s : "ADB123,ABC-D1,12ABCD,A-BCD1,abcd12,a.b.c,12£".split(",")) {
boolean ok = s.matches("[-\\p{Alnum}]+");
System.out.println(s + " is ok: " + ok);
}
Run Code Online (Sandbox Code Playgroud)
版画
ADB123 is ok: true
ABC-D1 is ok: true
12ABCD is ok: true
A-BCD1 is ok: true
abcd12 is ok: true
a.b.c is ok: false
12£ is ok: false
Run Code Online (Sandbox Code Playgroud)
正则表达式[-\\p{Alnum}]+意味着
[ ]+ 表示任何一个或多个字符.-在开始时意味着-不是,而不是别的东西.\\在字符串中,字面意思变成了\一个转义字符.\p{Alnum} 是预定义的字母和数字字符列表.有关更多详细信息,请参阅Pattern的文档.
| 归档时间: |
|
| 查看次数: |
7777 次 |
| 最近记录: |