我使用以下正则表达式来匹配帐号。当我们最初把这个正则表达式放在一起时,规则是一个帐号只能以一个字母开头。这已经改变,我有一个帐号,在字符串的开头有3个字母。
我希望有一个正则表达式,在字符串的开头匹配至少1个字母和最多3个字母。最后一个问题是字符串的长度。它可以长达9个字符,最少3个。
以下是我目前正在使用的内容。
'/^([A-Za-z]{1})([0-9]{7})$/'
有没有办法匹配所有这些?
答案 0 :(得分:5)
你想:
^[A-Za-z]([A-Za-z]{2}|[A-Za-z][0-9]|[0-9]{2})[0-9]{0,6}$
初始[A-Za-z]
确保它以字母开头,第二位([A-Za-z]{2}|[A-Za-z][0-9]|[0-9]{2})
确保它至少有三个字符长,并且在开头包含一到三个字母,最后一位[0-9]{0,6}
允许您最多使用9个字符。
进一步解释:
^ Start of string/line anchor.
[A-Za-z] First character must be alpha.
( [A-Za-z]{2} Second/third character are either alpha/alpha,
|[A-Za-z][0-9] alpha/digit,
|[0-9]{2} or digit/digit
) (also guarantees minimum length of three).
[0-9]{0,6} Then up to six digits (to give length of 3 thru 9).
$ End of string/line marker.
答案 1 :(得分:0)
试试这个:
'/^([A-Za-z]{1,3})([0-9]{0,6})$/'
这将为您提供1至3个字母和3至9个字符。