正则表达式:匹配不在表达式{0}或{1}中的所有括号{}

时间:2014-07-22 16:15:02

标签: c# regex

标题说明了所有内容,我尝试匹配所有{},但不匹配{0}{1}中包含的内容。

例如:{asd } {2} asds}w2{1}

这里,所有括号都匹配,但最后2个。

3 个答案:

答案 0 :(得分:0)

根据评论编辑:

你走了:

(?!\{[01]\})\{|(?<!\{[01])\}

Demo

说明:

  • 如果后面的内容不是{{0},请与{1}匹配。
  • 如果前面的内容不是}{0,请与{1匹配。

以下示例中的匹配以粗体显示:

  

{ asd } { 2 } asds } w2 {1} { foo } {0} {} } {< / strong> { }

答案 1 :(得分:0)

你可以试试这个正则表达式,

(?:\{0\}|\{1\})(*SKIP)(*F)|(?:{|})

DEMO

OR

(?<!0|1)}|{(?!1|0)

DEMO 1DEMO 2

答案 2 :(得分:0)

您可以使用基于负面设计的正则表达式

\{(?![12]\})[^}]*\}

Online regex Demo