删除第一次出现的关闭括号]

时间:2017-02-26 09:40:14

标签: regex sublimetext3

使用sublime text regex查找和替换,如何捕获第一次出现的右括号]

这个正则表达式按预期工作,并捕获到第一个开头括号:

^([^\[]*)\[

你_ 你_ [ ni3]你(非正式的,而不是礼貌的你[nin2])_

但是,对于结束括号,这不会发生任何事情:

^([^\]]*)\]

enter image description here

1 个答案:

答案 0 :(得分:2)

根据您的屏幕截图,全文选项已启用:

enter image description here

因此,你匹配的]后面需要一个单词char,第一个char也应该是单词char。

您可能使用的解决方案是禁用该选项。

但是,如果您只需要选择/突出显示/替换/删除文件中的第一个],您可以使用

\A[^]]*\K]

其中:

  • \A - 匹配文档的开头
  • [^]]* - 匹配除]
  • 以外的0 +字符
  • \K - 匹配重置运算符,省略了到目前为止匹配的整个文本
  • ] - 匹配文字]

您不需要在字符类之外转义],而且它是PCRE / Boost正则表达式中字符类中的第一个字符。

enter image description here

请注意如果您需要匹配每行的第一个] ,则需要将\A替换为^(行锚的开头) )并将\r\n添加到否定的字符类:

^[^]\r\n]*\K]

enter image description here