繁体   English   中英

正则表达式帮助匹配多个字母

[英]Regex help to match more than one letter

我正在使用以下正则表达式来匹配帐号。 当我们最初将此正则表达式放在一起时,规则是一个帐号只能以单个字母开头。 此后发生了变化,我的帐号在字符串的开头有3个字母。

我想有一个正则表达式,它将在字符串的开头匹配最少1个字母和最多3个字母。 最后一个问题是字符串的长度。 最长为9个字符,最小为3个字符。

这是我目前正在使用的。

'/^([A-Za-z]{1})([0-9]{7})$/'

有没有办法匹配所有这些?

你要:

^[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.

尝试这个:

'/^([A-Za-z]{1,3})([0-9]{0,6})$/'

这将为您提供1至3个字母和3至9个字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM