仅当条件在regex C#中满足时才验证字符串

时间:2014-04-09 15:03:45

标签: c# regex conditional

我正在尝试为应用了以下规则的字符串创建一个正则表达式

  1. 我需要验证字符串,只有前1-3个字符(可以是1个字符,2个字符或3个字符)是数字的,之后它有一个' /'符号字符
  2. 如果第一个条件符合,那么我需要检查之后的字符' /'应该只是以下任何一个字符(' ADD。',' MOD。'),如果不是它应该失败
  3. 如果第一个条件不满足则不应验证字符串。
  4. 我尝试使用这个正则表达式,但我无法得到解决方案。

    (?=^[0-9]{1,3}[/]{1})^[0-9]{1,3}[/]{1}[(ADD.|MOD.)]{4}|(.*)
    

    当我验证字符串时,条件不会失败 - '123/testing'它应该失败

    请让我知道我错过了什么。

    亲切的问候, D.Mahesh

1 个答案:

答案 0 :(得分:2)

为什么不使用这个正则表达式:

^\d{0,3}/(ADD\.|MOD\.)

像这样:

string regex = @"^\d{0,3}/(ADD\.|MOD\.)";