数字的XPath通配符

时间:2013-07-20 17:03:07

标签: html xpath xpath-2.0

我有一些HTML,我用以下格式引用:

<table id="post123">
  <div id="postname">Post Name</div>
</table>
<table id="post124">
  <div id="postname">Post Name 2</div>
</table>

使用Xpath,我只想获得其中包含“post”的元素,后跟数字。

我想过使用:

table[contains(@id, "post")]

但是这也将返回id为“postname”的元素,这不是我想要的。你会怎么做?数字的xpath中是否有通配符?

另请注意,HTML可能如下所示:

<table id="123post">
  <div id="namepost">Post Name</div>
</table>

1 个答案:

答案 0 :(得分:2)

请尝试使用matches()

类似的东西:

matches(@id,'^post\d+$')

修改(以匹配123postpost123):

matches(@id,'^\d*post\d*$')

那也匹配id="post"。如果这是一个问题,你可以使用:

matches(@id,'(^post\d+$|^\d+post$)')