我正在用正则表达式挣扎了一段时间。
我需要匹配<ns3:OutputData>
数据之间的文本</ns3:OutputData>
。
ns
可能是1或2位数字...
前面和结尾只是要提到还有更多的嵌套标签到目前为止,我的正则表达式:(ns\d\d?:OutputData>)\b(.*)(\/\1)
示范文本:
...<ns3:OutputData>foo bar</ns3:OutputData>...
我试图(?:(ns\d\d?:OutputData>)\b)(.*)(?:(\/\1))
排除第1组和第3组。
我不会排除匹配的标签,如图像所示:
任何帮助深表感谢。
编辑
Grep Console for IntelliJ可能存在一些正则表达式解释问题,我打算使用该正则表达式。这是迄今为止最匹配的最新图像...
这是我的答案:
(?<=(ns\d:OutputData)>)(.*?)(?=<\/\1)
答案是基于@WiktorStribiżew3给出的解决方案(在注释中)。最后一个工作了,我对此做了一些修改。
感谢所有的努力,尤其是@WiktorStribiżew!
编辑
好的,是的@Bohemian它与两位数不匹配,我忘了更新:
(?<=(ns\d{0,2}:OutputData)>)(.*?)(?=<\/\1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句