REGGEX在多个分隔符内匹配一次

时间:2017-06-07 14:23:28

标签: regex

在X-Y-Z模式中,分隔符为“ - ”,我想检查Y的大小是否为8而没有重复。

Y可以是Y =(A-B-C)的子集,但如果没有,则Y只有值1

1 - num-12345678-num - >在这种情况下,我希望Y有一个值。 2 - num-12345678-234-213-num - >由于Y是子集(12345678-234-213),Y应该具有不同的值。

我正在使用的reggex是' - ([0-9] *) - '并且适用于第一种情况但是获得第二种情况的相同值。有谁可以帮助我?

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以在字符类中添加连字符:

-([0-9-]*)-
      ^

请参阅regex demo

如果将它放在char类的末尾,则无需转义它。

<强>详情:

  • - - 连字符
  • ([0-9-]*) - 第1组捕获零个或多个(由于*量词)数字或/和连字符
  • - - 再次使用字面连字符。