0

我有以下xpath表达式

//pre//strong[@class='messageText']

这让我摆脱

"this output O/13-1405 is valid for this scenario"

我需要的是只得到"O/13-1405"这个应该是通用的,因为每个测试在文本中都有不同的输出

4

1 回答 1

0

如果此模式是固定的(或者您可以直接在想要的子字符串周围找到一个固定且不同的模式),您可以使用substring-beforeandsubstring-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)。

于 2013-08-10T13:59:19.950 回答