正则表达式与重复组合

时间:2015-08-17 11:25:04

标签: regex

我想写一个具有以下条件的正则表达式:

  1. 以123456(5-7位数字)或CR-0000001234(CR-任何10位数字否)开始和结束
  2. 只能用空格分隔两个数字。 3)这项检查本质上是重复的。
  3. 我已经写过,但它只匹配前两个不重复的方式:

    ([cC][rR][0-9]{10}|[0-9]{5,7})[,][ ][0-9]{5,7}$|([cC][R][0-9]{10}|[0-9]{5,7})?[,][ ][cC][rR][0-9]{10}$|([cC][rR][0-9]{10})|([0-9]{5,7})
    

    它只匹配两种组合:

    123456, CR1234567890 
    123456, 123456
    

    但是

    123456,123456,123456无效。

    提前致谢

1 个答案:

答案 0 :(得分:0)

如下所示更改正则表达式。

^(?:[cC][rR][0-9]{10}|[0-9]{5,7})(?:, (?:[cC][rR][0-9]{10}|[0-9]{5,7}))+$

如果您还想完全匹配onw字,请将上面的+更改为*

^(?:[cC][rR][0-9]{10}|[0-9]{5,7})(?:, (?:[cC][rR][0-9]{10}|[0-9]{5,7}))*$

DEMO