正则表达式的小麻烦

时间:2016-11-25 04:32:01

标签: c# regex regular-language

我需要构建一个正则表达式,其中包含以下详细信息。正则表达式需要匹配以下字符结构:

OT-001-16

  1. OT:它们可能是大写或小写,但我只需要匹配O后跟T,而不是T,然后是{{1 }}。
  2. O后跟这个角色。
  3. -后跟3个或更多数字。
  4. 001后跟这个角色。
  5. -最后跟着确切的2个数字。
  6. 这是我尝试过的:

    16

    这个正则表达式工作正常,除非我写/([OT|ot]{2})-(\d{3,})-(\d{2})/g ,问题在于TO-0052-54个字符,我只需要OT后跟O才能匹配}。

    感谢您发表评论的任何问题。

1 个答案:

答案 0 :(得分:3)

通过使用[OT|ot]{2},您实际上正在比较具有char O或o和T或t长度为2的字符串。这就像使用类似的东西。

[ABCD]{2}:匹配所有可能的字符组合。

要解决此问题,请使用在此特定模式OT或ot。

之间匹配的(OT|ot)