正则表达式-提取双方括号之间的内容

时间:2019-11-26 10:12:34

标签: regex preg-replace preg-match regex-lookarounds

我有以下字符串:

[[ id1={{TEXT1}} ]] [[ id2={{TEXT2}} ]] [[ id3={{TEXT3}} ]]

我想仅使用{{TEXT3}}来匹配双括号中的内容。 我尝试过:

\[\[(.*?)({{TEXT3}})(.*?)\]\]

但是它也从头开始匹配匹配的方括号

enter image description here

仅在所需结果处:

id3={{TEXT3}}

2 个答案:

答案 0 :(得分:0)

替换第一个。?与(?:(?![[)。)?解决了我的问题。 非常感谢@WiktorStribiżew

答案 1 :(得分:0)

options.add_argument('--headless')

screenshot

说明:
.*\[\[ (.*{{TEXT3}}) \]\]任何东西
.*直到[[
\[\[捕获([[]]之间的所有内容)
(.*{{TEXT3}})比赛结束]]

您的正则表达式在内部[[而不是外部,因此与第一个[[它找到了。