我希望对这个问题有所帮助,因为我一直在努力编写一个正则表达式,该表达式与以数字开头、以数字结尾并在两位数字之间有3个或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]$唯一的问题是,我需要这样做才能与上面所说的不相匹配。
发布于 2017-05-10 12:54:10
您的regex无法处理该任务,原因是.*([A-Z]|[a-z]).*部件与任何0+字符匹配,后面跟着一个大写或小写的ASCII字母,然后再使用任何0+字符。
你需要用
^[0-9][a-zA-Z]{3,}[0-9]$详细信息
^ -字符串的开始[0-9] -一个数字[a-zA-Z]{3,} -3或更多(由于限定符{3,})[0-9] -一个数字在.$ -字符串的末端。https://stackoverflow.com/questions/43893069
复制相似问题