喜欢的东西 .//div[@id='foo\d+] 捕捉格标签 id='foo123'.

我使用。净额,如果该事项。

有帮助吗?

解决方案

其他的答复已经指出的, XPath1.0 不支持定期的表情.

尽管如此,有下列选项:

.//div
   [starts-with(@id, 'foo') 
  and 
   'foo' = translate(@id, '0123456789', '')
  and
   string-length(@id) > 3   
   ]

其他提示

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 +')]

在.NET中,您可以通过扩展对象访问自定义类(因此,如果可以根据需要对其进行适当编码,则可以使用正则表达式。)

教程此处

我也想这样做,所以创建了我自己的基本 xpath模块

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top