我一直在互联网上搜索整整一个小时,但我似乎无法找到它,大多数答案都是基于字母字符或仅仅是数字。我是一名正则表达式的初学者,我正在尝试学习它,但我不知道为什么这不起作用。
我想要的是(对于搜索机器)输入是通过模式验证的。此模式必须包含3个字母和/或数字的最小组合。也允许使用特殊字符,但输入中必须至少包含3个字母或数字。
我尝试使用(([aA-zZ]{0,}[0-9]{0,}){3,})\w+
但是这不允许使用特殊字符,也不会让我想要3个后续字符,因为2也是允许的
asdA - 正确 - 连续三次以上
as - 不正确 - 连续不到三个
a1s - 正确 - 连续三次
+ a1s / 正确 - 连续三次
+ a1-s - 不正确 - 连续少于3次
答案 0 :(得分:1)
如果您需要验证3个连续的字母或数字,请使用此正则表达式:
[A-Za-z0-9]{3}
在java中使用:
str.matches(".*[A-Za-z0-9]{3}.*");
答案 1 :(得分:0)
尝试使用以下内容:
System.out.println("asdA".matches(".*?[a-zA-Z0-9]{3}.*?"));
System.out.println("as".matches(".*?[a-zA-Z0-9]{3}.*?"));
System.out.println("a1s".matches(".*?[a-zA-Z0-9]{3}.*?"));
System.out.println("+a1s/".matches(".*?[a-zA-Z0-9]{3}.*?"));
System.out.println("+a1-s".matches(".*?[a-zA-Z0-9]{3}.*?"));
答案 2 :(得分:0)
我认为这对你有用:
{{1}}