为了账号安全,请及时绑定邮箱和手机立即绑定

lxml查找id ='post- [0-9] *'的<div>

lxml查找id ='post- [0-9] *'的<div>

倚天杖 2021-03-21 22:19:53
我正在尝试查找所有ID为以“ post- {这里有很多数字}”开头的div标签,我尝试过这样的操作:tree.xpath("//div[starts-with(@id,'post-[0-9]')]")但是并不能真正起作用。有没有一种方法,而无需在python中导入正则表达式?
查看完整描述

4 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

如果您只想检查以'post-'开头的@id,则xpath//div[starts-with(@id,'post-')]就足够了。但是,如果您要查找@id,它必须是'post- $ AnyDigit的组合,则必须使用matches()function。


查看完整回答
反对 回复 2021-03-30
?
隔江千里

TA贡献1906条经验 获得超10个赞

解决此类问题的xpath-1.0解决方案将是use translate()

例如:translate( @id, '0123456789' , '0' )将任何数字更改为0('123'->'000'。

因此,如果您想查找例如“ post-”后跟三位数的数字,请使用类似以下内容的内容:

"//div[starts-with(translate( @id, '0123456789' , '0' ), 'post-000')]"


查看完整回答
反对 回复 2021-03-30
  • 4 回答
  • 0 关注
  • 226 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信