如何捕获正则表达式中的方括号
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-z
、A-Z
、0-9
、一次或多次 (+
),然后是文字 \]]
序列(参见 what your regex actually matches)。
我有一系列包含方括号的文本元素:
[PropertyID]
,[ParcelID]
,[Score]
,[Score1]
如何捕获带括号的元素?
我试过了,但没用:([\[a-zA-Z0-9]+\]])
还有 (\[[a-zA-Z0-9]+\])
我正在尝试在记事本++中执行一些文本替换,但它说找不到它。
谢谢。
你可以使用
\[[^][]*]
\[
匹配 [
,然后 [^][]*
匹配除 [
和 ]
之外的零个或多个字符(因为它是否定字符class 应用了 *
量词)和 ]
匹配文字 ]
.
这将匹配 [...]
个没有 ]
和 [
的子字符串。
必须转义第一个 [
以匹配 文字 [
符号 。当您使用 [\[a-zA-Z0-9]+\]]
时,第一个 [
开始一个匹配 1 个符号的字符 class,\
或 [
、a-z
、A-Z
、0-9
、一次或多次 (+
),然后是文字 \]]
序列(参见 what your regex actually matches)。