我有这个字符串:
"<myTag att1="val1"><myTag></myTag></myTag><myTag></myTag>"
我需要的是匹配:
<myTag att1="val1"><myTag></myTag></myTag>
我尝试使用正则表达式但它得到了:
<myTag att1="val1"><myTag></myTag>
我该如何解决?
答案 0 :(得分:1)
消除默认的贪婪性质,并写下以下内容: -
(.+?)
请注意,在少数编辑器中,字符串中的att1 =“val1”可能无法识别。因此,对于该前缀'\'。但上面的正则表达式应该可行
答案 1 :(得分:0)
试一试:
/(<myTag(\satt1="val1")*>)+(<\/myTag>)*/g
答案 2 :(得分:0)
比其他解决方案更明确,但有了这个,你可以通过myTag多次封装myTag。
var res = str.match(/<myTag .*>.*<myTag>.*<\/myTag>[^<]*<\/myTag>/g);