使用sublime text regex查找和替换,如何捕获第一次出现的右括号] ?
这个正则表达式按预期工作,并捕获到第一个开头括号:
^([^\[]*)\[
你_ 你_ [
ni3]你(非正式的,而不是礼貌的你[nin2])_
但是,对于结束括号,这不会发生任何事情:
^([^\]]*)\]
答案 0 :(得分:2)
根据您的屏幕截图,全文选项已启用:
因此,你匹配的]
后面需要一个单词char,第一个char也应该是单词char。
您可能使用的解决方案是禁用该选项。
但是,如果您只需要选择/突出显示/替换/删除文件中的第一个]
,您可以使用
\A[^]]*\K]
其中:
\A
- 匹配文档的开头[^]]*
- 匹配除]
\K
- 匹配重置运算符,省略了到目前为止匹配的整个文本]
- 匹配文字]
。您不需要在字符类之外转义]
,而且它是PCRE / Boost正则表达式中字符类中的第一个字符。
请注意如果您需要匹配每行的第一个]
,则需要将\A
替换为^
(行锚的开头) )并将\r\n
添加到否定的字符类:
^[^]\r\n]*\K]