2009-12-01 72 views

回答

1

如果你的意思做这样的事情:

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”结尾