2

这个问题与 Match 非常相似,除非存在“转义”字符,但是批准的解决方案并非在所有情况下都有效。

在我的场景中,我正在使用 javascript 并希望捕获 [方括号] 中的内容,除非他们使用 \[slash] 对其进行转义。

一个 RegexPal 在这里

正则表达式

(?:[^\\]|^)\[([^\]]*)\]

用于测试以查看问题的示例:

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].
4

1 回答 1

1

Javascript的正则表达式引擎不支持lookbehind..

您可以使用此解决方法

(?:\s|^|\])\[(\w+)(?=\])

第 1 组捕获您所需的数据[]

演示

于 2013-06-29T18:01:11.840 回答