我想要一个匹配括号和其他文本之间的 ' ' 字符的正则表达式:
[Hello World]
^
我已经做到了这一点:
\[.* .*\]
但不幸的是,这也符合这一点:
[HelloWorld] [HelloWorld]
^
有没有办法排除这种情况?
不要使用任意数量的通配符 ( .
) 字符,而是使用任意数量的非括号字符:
\[[^\]\[]* [^\]\[]*\]
这最初看起来很不清楚,但它分解如下:
\[ first bracket
[^ exclusion class:
\]\[ exclude brackets
]* end exclusion; any amount
space
[^ exclusion class:
\]\[ exclude brackets
]* end exclusion; any amount
\] final bracket
尝试这样的事情:
\[([^\]*)\] \[([^\]*)\]
你可以用这个
\[[^[]]* [^[]]*\]
使用单词边界怎么样?
\[.*\b \b.*\]
您可以使用它(在查找模式的末尾有一个空格):
find: (\[.*?)
replace: \1
(在记事本++ 6.3.2 上测试)