我想制作一个必须至少有一个数字和一个字母的正则表达式。
onlyText
不会数学。但是onlyText123
匹配。
干得好
^(?=.*[a-zA-Z])(?=.*[\d]).*$
关键是使用一种称为环视的技术
你可以试试这样的
String p= "\\w*([a-zA-Z]\\d|\\d[a-zA-Z])\\w*";
System.out.println("1a".matches(p));//true
System.out.println("a1".matches(p));//true
System.out.println("1".matches(p));//false
System.out.println("a".matches(p));//false
([a-zA-Z]\\d|\\d[a-zA-Z])
== 字母后数字或数字后字母
之前和之后可以(但不必)是字母和数字 ( \\w
)