我对正则表达式相当擅长,但我有一个问题,我似乎无法理解。
在文档中,我想替换所有出现在 2 个标签之间的文本,但不替换标签之外的文本。
我要替换的标签是 ][,并且仅当它们在 {} 内时。][的数量未知。可以是 1、2 甚至 7。
这是一个例子:
This is a tilte ][
And here some data {[tag1][tag2][tag3][tag4]}
This is another tilte ][
And here some data {[tag1][tag2][tag3][tag4]}
假设我想在 { 和 } 之间用正则表达式替换 ][ 。我怎么做?
显然是这样的:
{.+?\]\[.+?}
但这只取代了第一次。我不想运行它 20 次,希望它是 20 次或更少。
我正在使用记事本++
(?:^.*?\{|\G(?!^)).*?\K]\[
,
. matches newline
解释:
截图(之前):
截图(之后):