我有以下xml:
<a>
<y>2</y>
<x>2</x>
</a>
<a>
<x>1</x>
<y>1</y>
</a>
我想检索其中包含a
的所有<x>1</x>
代码。
我使用<a>(.+?)<x>1</x>(.+?)</a>
,但这也匹配我的整个XML文件。
答案 0 :(得分:1)
您实际上可以使用基于正则表达式的负向前瞻(在Jmeter正则表达式中支持)来解决此问题:
<a>((?:(?!</a>).)+?)<x>1</x>((?:(?!</a>).)+?)</a>
此处((?:(?!</a>).)+?)
是基于负面预测的匹配,只有在</a>
后面没有匹配时才匹配下一个字符,从而确保在给定示例中匹配第二个<a>...</a>
块。