Dot-Net
我可以在 XPath 表達式中使用正則表達式嗎?
類似於
.//div[@id='foo\d+]用id='foo123'.如果這很重要,我正在使用.NET。
正如其他答案所指出的,XPath 1.0不支持正則表達式。
儘管如此,您有以下選擇:
- 像這樣使用 XPath 1.0 表達式(注意
starts-with()andtranslate()函式):.//div [開始於(@id,'foo') 和 'foo' = translate(@id, '0123456789', '') 和 字元串長度(@id)> 3 ]
- 使用EXSLT.NET - 有一種方法可以直接在 XPath 表達式中使用其函式,而無需使用 XSLT。允許使用 RegEx-es 的 EXSLT 擴展函式是
regexp:match():regexp:replace()和regexp:test()- 使用 XPath 2.0 / XSLT 2.0及其對正則表達式的內置支持(函式matches()、replace()和tokenize())