我是正则表达式的新手。
我要求使用以下标准编写正则表达式
我写了以下表达式,但它不起作用
^[a-zA-Z\\d*]{8,20}$
答案 0 :(得分:4)
您可以使用:
(?i)^(?=.*[a-z])[a-z0-9]{8,20}$
请参阅demo哪些有效,哪些无效
(?i)
使其不区分大小写^
声称我们位于字符串的开头(?=.*[a-z])
检查我们至少有一个字母[a-z0-9]{8,20}
匹配8到20个字母或数字(字母也可以是大写)$
断言我们已到达字符串答案 1 :(得分:1)
答案 2 :(得分:0)
尝试使用此代码并检查:
public static void main(String[] args) {
Pattern pattern = Pattern.compile("^(?!\\d+$)\\w{8,20}$");
Matcher matcher = pattern.matcher("Tryurcode4u");
System.out.println("Input String matches regex - "+matcher.matches());
}