这个问题与 Match 非常相似,除非存在“转义”字符,但是批准的解决方案并非在所有情况下都有效。
在我的场景中,我正在使用 javascript 并希望捕获 [方括号] 中的内容,除非他们使用 \[slash] 对其进行转义。
正则表达式
(?:[^\\]|^)\[([^\]]*)\]
用于测试以查看问题的示例:
This is a [block], but as you can see it is trying to capture the preceeding character.
You can \[escape] a block, but this creates \[problems] with [blocks] that are [stacked][back][to][back].