0
使用杏,很容易看到如何使用CSS选择器提取给定ID或类的所有元素。根据这些元素的某些属性是否与某些正则表达式匹配,是否可以从文档中提取元素?在Hpricot中匹配id和正则表达式的最佳方式是什么?
使用杏,很容易看到如何使用CSS选择器提取给定ID或类的所有元素。根据这些元素的某些属性是否与某些正则表达式匹配,是否可以从文档中提取元素?在Hpricot中匹配id和正则表达式的最佳方式是什么?
如果你的意思做这样的事情:
doc.search("//div[@id=/regex/]")
话,我不认为这是可以做到。另一种方法是查找所有元素,然后遍历结果,删除那些不匹配正则表达式的结果。
result = doc.search("//div")
result.delete_if (|x| x.to_s !~ /regex/)
有很多的替代方法。此主题有两个其他建议:Hpricot and Regular Expression。
注意,这取决于它到底是什么,你要匹配你可以使用“支持的,但不同的”语法可在Hpricot Wiki,如:
E[@foo$=“bar”]
匹配的E元素的“foo” 属性值完全以 字符串“bar”结尾