为特殊情况构建正则表达式

时间:2011-11-10 11:55:31

标签: c# regex

我的文字可以包含以下值: -

  1. [Other]
  2. A,B,[Other]
  3. [Other][N/A]
  4. [Other]Hello
  5. [Other]Hello,baby
  6. 我想要一个只能满足案例4和5的正则表达式。对于前三种情况,它应该失败。在我的例子中,[Other]固定在字符串值中。我们可以用[Other]的硬编码简化正则表达式。例如,事件文本[N / A]是固定的,因此它与案例4和5不同。

    • 该字符串必须以[Other]字开头。 该字符串不得包含单词[N / A]。 该字符串不得单独使用[Other]字样。

    请帮助并建议正则表达式。

    如需测试,请使用http://www.gskinner.com/RegExr/

2 个答案:

答案 0 :(得分:0)

试试这个regex

^\[[^\]]+\][a-zA-Z,]+$

答案 1 :(得分:0)

取决于您想要匹配的内容,但这适用于您的情况

^\[Other\][^\[]+$

其中包括... start(^)后跟字符串[Other](已转义),然后不是[[^\[])一次或多次( +)后跟结束($


EDIT 或者更具体的版本(根据评论)如上所述,但是后半部分没有[后面没有N,后面没有\可选,后面没有A可选地,后跟不是]后跟零个或多个任何字符(.*)结束($

^\[Other\][^\[][^\N]?[^\\]?[^A]?[^\]]?.*$