繁体   English   中英

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

[英]Regex: Match all brackets {} that are not in expressions {0} or {1}

标题说明了所有问题,我正在尝试匹配所有{}但不匹配{0}{1}

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

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

根据评论进行编辑:

干得好:

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

演示版

说明:

  • 如果后面不是{0}{1}则匹配{
  • 如果前面不是{0{1则匹配}

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

{ asd } { 2 } asds } w2 {1} { foo } {0} { bar } } { { }

您可以尝试此正则表达式,

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

演示

要么

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

演示1演示2

您可以使用基于负号的正则表达式

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

在线正则表达式演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM