Regex 正则表达式-以至少包含一个字母和一个数字的3个字母数字字符开头,以一个字母结尾
我正在尝试生成符合以下条件的正则表达式:Regex 正则表达式-以至少包含一个字母和一个数字的3个字母数字字符开头,以一个字母结尾,regex,Regex,我正在尝试生成符合以下条件的正则表达式: 4个字符 开头3个字符必须是字母数字字符,至少包括一个字母和一个数字 最后一个字符必须是字母 因此,我预计结果将是: 案例1:abcd->不匹配 案例2:234d->不匹配 案例3:a23c->匹配 案例4:3abc->匹配 案例5:xy23->不匹配 我测试了以下符合条件2的正则表达式,但仍然找不到符合条件1和3的解决方案 ^(?!.*[^a-zA-Z0-9])(?=.*\d)(?=.*[a-zA-Z]).{3}$ 我试过这一次,但在案例2中失败
- 案例1:abcd->不匹配
- 案例2:234d->不匹配
- 案例3:a23c->匹配
- 案例4:3abc->匹配
- 案例5:xy23->不匹配
^(?!.*[^a-zA-Z0-9])(?=.*\d)(?=.*[a-zA-Z]).{3}$
我试过这一次,但在案例2中失败了
^(?!.*[^a-zA-Z0-9])(?=.*\d)(?=.*[a-zA-Z]).{3}[a-zA-Z]$
我如何结合这些标准?谢谢 无需为3或4个字符使用复杂功能:
/^(?:[a-z0-9](?:[0-9][a-z]|[a-z][0-9])|[0-9][a-z]{2}|[a-z][0-9]{2})[a-z]$/i
或
你可以用
^(?=.{0,2}[0-9])(?=.{0,2}[a-zA-Z])[0-9a-zA-Z]{3}[a-zA-Z]$
见
详细信息
-字符串的开头^
-在0到2个字符之后必须有一个ASCII数字(?=.{0,2}[0-9])
-在0到2个字符之后必须有一个ASCII字母(?=.{0,2}[a-zA-Z])
-3 ASCII字母数字[0-9a-zA-Z]{3}
-一个ASCII字母[a-zA-Z]
-字符串结尾$
^(?=.{0,2}[0-9])(?=.{0,2}[a-zA-Z])[0-9a-zA-Z]{3}[a-zA-Z]$