2

我有一些以以下格式提取的 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>
4

1 回答 1

2

尝试matches()改用。

就像是:

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

编辑(匹配123postpost123):

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

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

matches(@id,'(^post\d+$|^\d+post$)')
于 2013-07-20T17:18:29.940 回答