我正在寻找一个正则表达式,它可以做到这一点:我的文本:
"Blablabla {{ blabla1 }} blablablabla {{ blablabla2 {{ blabla3 }} }} blablabla"
我想提取的是:
"blabla1" and "blablabla2 {{ blabla3 }}"
有人有主意吗?
我试过:“{{(..*}}”代码>但它返回
“blabla1”
和“blabla3”
您可以使用平衡组来计算和匹配嵌套结构,如下面所示。例如:
(?x) {{ ( (?: [^{}]+ | (?<open>{{) | (?<-open>}}) )* (?(open)(?!)) ) }}
这有嵌套,所以它不是常规语法。一些正则表达式引擎具有处理大括号匹配的扩展,但通常最好的方法是简单地扫描字符串并在列表中累积输出