我的soapui测试套件中有以下xpath匹配,
//html/body/div[2]/table/tbody/tr[td/b[text()='NewsV1']]//td[4]/a[1]/@href[1]
结果:
http://shortness.com:101115/localnewsv1/info
我希望得到如下预期结果(它应该从http到第三个结果取得结果)
我已尝试将以下xpath与正则表达式结合使用
tokenize(/html/body/div[2]/table/tbody/tr[td/b[text()='NewsV1']]//td[4]/a[1]/@href[1], ' ' )[matches(., 'http://+w[a-zA-Z0-9.]+d{*}+/')
这会在结果中给出一个无效的表达。如果您有想法指出问题或建议。
答案 0 :(得分:1)
对于此标记,
<a href="http://shortness.com:101115/localnewsv1/info"/>
此XPath 2.0表达式(确保您的库支持XPath 2.0),
concat(join(tokenize(/a/@href, '/' )[position() < 4],'/'),'/')
将返回
http://shortness.com:101115/
按要求。
答案 1 :(得分:0)
我想d{*}
可能在某些正则表达式方言中有意义,但它在XPath 2.0正则表达式方言中没有意义(并且无效)。