我有一些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>
答案 0 :(得分:2)
请尝试使用matches()
。
类似的东西:
matches(@id,'^post\d+$')
修改(以匹配123post
或post123
):
matches(@id,'^\d*post\d*$')
那也匹配id="post"
。如果这是一个问题,你可以使用:
matches(@id,'(^post\d+$|^\d+post$)')