正则表达式正则表达式

时间:2017-05-10 12:52:09

标签: regex

我想帮助解决这个问题,我一直在努力编写一个匹配字符串的正则表达式,该字符串以数字开头并以数字结尾,并且在两个数字之间有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]$

唯一的问题是我需要这个与上面说的那些

不匹配

1 个答案:

答案 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] - ......的数字
  • $ - 字符串的结尾。