0

我想制作一个必须至少有一个数字和一个字母的正则表达式。

onlyText不会数学。但是onlyText123匹配。

4

2 回答 2

3

干得好

^(?=.*[a-zA-Z])(?=.*[\d]).*$

关键是使用一种称为环视的技术

于 2012-06-07T11:03:33.750 回答
0

你可以试试这样的

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)

于 2012-06-07T11:09:14.173 回答