本文介绍了正则表达式匹配外部嵌套标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个字符串

blabla [IC="test"]你好,[IC="testing"] 这是一个嵌套标签 [EC],cya.[EC] blabla

我正在尝试匹配外部 [IC="..."]...[EC] 所以我可以得到

I'm trying to match the outer [IC="..."]...[EC] so I can get

[IC="test"]你好,[IC="testing"] 这是一个嵌套标签 [EC],cya.[EC]

我现在有这个

\[IC=\"([\s\S]*?)\"]([\s\S]*?)\[EC]\n{0,1}

但它直到最后一个结束标记[EC]

But its not matching it until the last closing tag [EC]

这是我在 regex101

推荐答案

您可以使用递归模式(PCRE 支持):

You could use a recursive pattern (supported in PCRE):

\[IC[^][]*\]
(?:(?:[^][]*|(?R))*)
\[EC\]

请参阅 regex101.com 上的演示.

这篇关于正则表达式匹配外部嵌套标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-24 01:49