正则表达式可选匹配组

时间:2013-05-16 06:58:07

标签: c# regex

我正在尝试为以下表达式创建正则表达式

我需要在所有整数上匹配组

  • 有效
    • 整数整数
    • 整数整数/整数
  • 无效
    • 整数整数/

所以第一部分就像是

^(\ d +) - (\ d +)

匹配 1-50

使用这些匹配组

  • 第1组:1
  • 第二组:50

我需要添加到第二部分才能制作

/整数

可选但/不应该在第3个匹配组中并且提供了一个整数

2 个答案:

答案 0 :(得分:1)

使用非捕获可选组,并在其中包含整数组。

这应该适合你:

^(\d+)-(\d+)(?:/(\d+))?$

答案 1 :(得分:1)

将斜杠放在非捕获组中,将其后面的数字放在捕获组中。

^(\d+)-(\d+)(?:/(\d+))?