此问题已经在这里有了答案:
我有以下字符串:
[[ id1={{TEXT1}} ]] [[ id2={{TEXT2}} ]] [[ id3={{TEXT3}} ]]
我只想使用{{TEXT3}}来匹配双括号中封闭的内容。我试过了:
\[\[(.*?)({{TEXT3}})(.*?)\]\]
但它也从头开始匹配匹配的方括号
仅在所需结果处:
id3={{TEXT3}}
.*\[\[ (.*{{TEXT3}}) \]\]
说明:.*
任何\[\[
直到[[(.*{{TEXT3}})
捕获([[]]之间的所有内容)\]\]
比赛结束]]
您的正则表达式在内部[[而不是外部,因此它与第一个[[它发现。]
替换第一个。?与(?:(?![[]。)