正则表达式 - 两个特定数字后跟可选数字

时间:2017-01-06 13:26:07

标签: regex

我正在尝试为以下模式创建一个正则表达式:

  • 以两个特定数字开头(例如((50)|(51)|(52))
  • 可能后跟任意数量的数字

示例:

  • 50匹配
  • 523412匹配
  • 53不匹配
  • 54234不匹配

我设法创建了这个

^((50)|(51)|(52))+[0-9]+?$

但它不匹配5051等案例。它仅在其后跟至少一位数时才有效。

1 个答案:

答案 0 :(得分:4)

以下内容应该有效;

^(50|51|52)[0-9]*$

在字符串的开头匹配50,51或52,然后匹配任意数量的数字。你非常接近它的工作。

Here's a working example

Tensibai

的好建议

^5[012][0-9]*$

这匹配字符串开头的数字5,后跟0,1或2 - 然后再匹配任意数量的数字。

Here's a working example for this solution