2009-12-01 4 views

Répondre

1

Si vous voulez dire faire quelque chose comme:

doc.search("//div[@id=/regex/]") 

alors je ne pense pas que cela peut être fait. L'alternative consiste à rechercher tous les éléments, puis à parcourir les résultats en supprimant ceux qui ne correspondent pas à une regex.

result = doc.search("//div") 
result.delete_if (|x| x.to_s !~ /regex/) 

Il existe de nombreuses approches alternatives. Ce fil a deux autres suggestions: Hpricot and Regular Expression.

Remarque, selon exactement ce que vous essayez de vous correspondre peut-être en mesure d'utiliser la « prise en charge, mais différents » syntaxes disponibles sur le Hpricot Wiki, par exemple:

E[@foo$=“bar”] 

correspond à une E élément dont la valeur d'attribut "foo" se termine exactement par la chaîne "barre"

Questions connexes