Dim*_*hev 91
正如其他答案所述,XPath 1.0不支持正则表达式.
尽管如此,您有以下选择:
starts-with()和translate()函数),如下所示:.//div [starts-with(@id, 'foo') and 'foo' = translate(@id, '0123456789', '') and string-length(@id) > 3 ]
使用EXSLT.NET - 有一种方法可以直接在XPath表达式中使用其函数,而无需使用XSLT.允许使用RegEx-es的EXSLT扩展函数是:regexp:match(),regexp:replace()和regexp:test()
使用 XPath 2.0/XSLT 2.0及其对正则表达式的内置支持(函数matches(),replace()和tokenize())
Cri*_*Vat 28
的XPath 2.0有哪些支持正则表达式的一些功能:matches(),replace(),tokenize().
在XPath 1.0中没有正则表达式支持.
对于.NET,您可以使用Saxon.Net中的XPath引擎来支持XPath 2.0.
因此,如果在Saxon.NET中使用XPath 2.0引擎,那么您的示例将转向:.//div[matches(@id,'foo\d+')].
| 归档时间: |
|
| 查看次数: |
70133 次 |
| 最近记录: |