如何捕获正则表达式中的方括号

How do I capture square brackets in regular expressions

我有一系列包含方括号的文本元素:

[PropertyID]
,[ParcelID]
,[Score]
,[Score1]

如何捕获带括号的元素? 我试过了,但没用:([\[a-zA-Z0-9]+\]]) 还有 (\[[a-zA-Z0-9]+\])

我正在尝试在记事本++中执行一些文本替换,但它说找不到它。

谢谢。

你可以使用

\[[^][]*]

\[ 匹配 [,然后 [^][]* 匹配除 [] 之外的零个或多个字符(因为它是否定字符class 应用了 * 量词)和 ] 匹配文字 ].

这将匹配 [...] 个没有 ][ 的子字符串。

必须转义第一个 [ 以匹配 文字 [ 符号 。当您使用 [\[a-zA-Z0-9]+\]] 时,第一个 [ 开始一个匹配 1 个符号的字符 class,\[a-zA-Z0-9、一次或多次 (+),然后是文字 \]] 序列(参见 what your regex actually matches)。