我需要正则表达式的帮助
我需要它匹配以50
开头的9位或10位数值。
我有:
^[ ]*(50)[0-9]{7}[ ]*$
允许9位数。
如何扩展它以便它还允许10位数?
答案 0 :(得分:4)
添加范围{7,8}
^[ ]*(50)[0-9]{7,8}[ ]*$
FYI this site描述了您可以在正则表达式中使用的标准量词:
* Match 0 or more times
+ Match 1 or more times
? Match 1 or 0 times
{n} Match exactly n times
{n,} Match at least n times
{n,m} Match at least n but not more than m times
答案 1 :(得分:3)
尝试使用以下正则表达式:
^[ ]*50\d{7,8}[ ]*$
答案 2 :(得分:2)
这个正则表达式符合你的需要:
^\s*50\d{7,8}\s*$
这将匹配从50开始的所有9或10位数字,在线路之前或之后无限数量的空格。
如果你想匹配所有以50开头的9位或10位数字,无论位置和空格数如何等,那么:
50\d{7,8}
将完全满足您的需求。
答案 3 :(得分:1)
以下是您的需求:(50)\d{7,8}