我有以下xpath表达式
//pre//strong[@class='messageText']
这让我摆脱
"this output O/13-1405 is valid for this scenario"
我需要的是只得到"O/13-1405"
这个应该是通用的,因为每个测试在文本中都有不同的输出
如果此模式是固定的(或者您可以直接在想要的子字符串周围找到一个固定且不同的模式),您可以使用substring-before
andsubstring-after
减少结果:
substring-after(substring-before(//pre//strong[@class='messageText'], ' is valid for this scenario'), 'this output ')
如果输出始终具有完全相同的长度,您也可以使用substring($text, $start, $length)
.
如果您需要从任意文本中提取并需要正则表达式,则需要使用 Java 代码或嵌入另一个至少支持 XPath 2.0 的 XPath 处理器(可以很容易地嵌入 Saxon)。