正则表达式(三个字符然后3-7位)然后可选一个字符

时间:2018-05-01 09:07:16

标签: regex

我想匹配三个字符后跟3-7位数字,然后选择一个或多个字符,总字符串应该在6到20个字符之间。

我写了以下内容,但它不起作用

^([a-zA-Z]{3}[1-9]{3,7}([a-zA-Z])?){6,20}$

谢谢!

1 个答案:

答案 0 :(得分:1)

如果字符串的总长度应为6-20个字符,则可以使用正lookahead来断言从字符串^的开头到字符串{{1}的结尾有6-20个字符$

然后匹配3个字符^(?=[a-zA-Z1-9]{6,20}$)并匹配3-7位[a-zA-Z]{3}

注意您使用的[1-9]{3,7}与零不匹配([1-9]

之后,您将匹配零个或多个大写或小写字符[0-9],直到字符串结束。

^(?=[a-zA-Z1-9]{6,20}$)[a-zA-Z]{3}[1-9]{3,7}[a-zA-Z]*$