0

次のxpath式があります

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

それは私に与えます

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

私が必要とするのは"O/13-1405"、すべてのテストがテキストで異なる出力を取得するため、これだけを汎用にすることです

4

1 に答える 1

0

このパターンが固定されている場合 (または、必要な部分文字列の周りに直接固定された明確なパターンを見つけることができる場合)、 と を使用substring-beforesubstring-afterて結果を削減できます。

substring-after(substring-before(//pre//strong[@class='messageText'], ' is valid for this scenario'), 'this output ')

出力が常にまったく同じ長さである場合は、 も使用できますsubstring($text, $start, $length)


任意のテキストから grep する必要があり、正規表現が必要な場合は、Java コードを使用するか、少なくとも XPath 2.0 をサポートする別の XPath プロセッサを埋め込む必要があります (Saxon は非常に簡単に埋め込むことができます)。

于 2013-08-10T13:59:19.950 に答える