3

我需要正则表达式的帮助

我需要它来匹配以 . 开头的 9 或 10 位值50

我有:

^[ ]*(50)[0-9]{7}[ ]*$

允许 9 位数字。

如何扩展它以使其也允许 10 位数字?

4

4 回答 4

6

添加范围 {7,8}

^[ ]*(50)[0-9]{7,8}[ ]*$

仅供参考,此站点描述了您可以在正则表达式中使用的标准量词:

* 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
于 2013-10-02T13:36:17.840 回答
3

尝试使用以下正则表达式:

^[ ]*50\d{7,8}[ ]*$
于 2013-10-02T13:36:27.973 回答
2

此正则表达式将符合您的需要:

^\s*50\d{7,8}\s*$

这将匹配以 50 开头的所有 9 位或 10 位数字,并且在它们之前或之后有无限数量的空格。

如果您想匹配以 50 开头的所有 9 位或 10 位数字,而不管位置和空格数等,那么:

50\d{7,8}

会做你需要的。

于 2013-10-02T13:37:00.207 回答
1

这是您需要的:(50)\d{7,8}

于 2013-10-02T13:40:53.877 回答