我想帮助解决这个问题,我一直在努力编写一个匹配字符串的正则表达式,该字符串以数字开头并以数字结尾,并且在两个数字之间有3个或更多字母字符(没有其他特殊字符)两位数之间的字符)。
测试了它:
4trtrtr8 (match)
5yy&&7 (no match, there are special characters there!)
4VVB3 (match)
5wEwHSJDKLJFAKLJFsdsafasfa2(match)
3rt5 (no match, there are only 2 characters between the digits)
这就是我对这个问题的回答......
^[0-9].*([A-Z]|[a-z]).*[0-9]$
唯一的问题是我需要这个与上面说的那些
不匹配答案 0 :(得分:2)
你的正则表达式无法处理任务,因为.*([A-Z]|[a-z]).*
部分匹配任何0+字符,后面跟着1个大写或小写的ASCII字母,然后又有0个字符。
您需要使用
^[0-9][a-zA-Z]{3,}[0-9]$
请参阅regex demo
<强>详情
^
- 字符串开头[0-9]
- 数字[a-zA-Z]{3,}
- 3个或更多(由于限制量词{3,}
)ASCII字母[0-9]
- ......的数字$
- 字符串的结尾。