En utilisant abricot, il est assez facile de voir comment je peux extraire tous les éléments avec un identifiant ou une classe donnée en utilisant un sélecteur CSS. Est-il possible d'extraire des éléments d'un document selon que certains attributs de ces éléments correspondent à une expression régulière?Quelle est la meilleure façon de faire correspondre les ID avec une expression régulière dans Hpricot?
0
A
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
- 1. Comment faire correspondre les caractères cyrilliques avec une expression régulière
- 2. Expression régulière, faire correspondre les caractères entre {}
- 3. Expression régulière récursive, comment faire correspondre la chaîne couplée avec une expression régulière?
- 4. Quelle est la meilleure façon de ReadLine par Expression Tree?
- 5. expression régulière pour faire correspondre une liste de chaînes
- 6. C# Expression régulière, Faire correspondre le contenu de la chaîne
- 7. Comment faire correspondre les noms de paramètres dans une expression?
- 8. Expression régulière - quelle est mon erreur?
- 9. Comment utiliser une expression régulière pour faire correspondre un nom?
- 10. Comment faire correspondre et capturer une expression régulière en C#
- 11. Expression régulière pour correspondre à une plage de valeurs décimales
- 12. Quelle expression régulière puis-je utiliser pour faire correspondre une référence de cellule?
- 13. Quelle est la meilleure façon de faire ce programme Java?
- 14. Quelle est la meilleure façon de faire XMLObject Validation
- 15. Expression régulière pour faire correspondre un numéro de téléphone
- 16. MVC Grid avec une datepicker - quelle est la meilleure façon?
- 17. Quelle est la meilleure façon de traduire une langue avec les sexes dans les rails
- 18. Quelle est la meilleure façon d'exécuter `sum_by_sql`?
- 19. Est-il possible de faire correspondre un motif en utilisant une expression régulière sur une nouvelle ligne dans UltraEdit?
- 20. Quelle est la meilleure façon de faire une console avec DHTML?
- 21. Comment faire une expression régulière java qui correspond à un mot dans n'importe quelle langue
- 22. Comment faire correspondre une chaîne d'une certaine longueur avec une expression régulière
- 23. Expression régulière pour correspondre à une plage de dates
- 24. Quelle est la meilleure façon de suivre les visiteurs uniques?
- 25. Quelle est la meilleure façon de tester les services WCF?
- 26. Comment faire correspondre une parenthèse d'entrée avec une expression régulière en JavaScript?
- 27. Quelle est la meilleure façon de supprimer les espaces après un certain caractère dans une chaîne?
- 28. De quelle expression régulière ai-je besoin pour faire correspondre "3213.32.2311" et similaire?
- 29. Quelle est la meilleure façon de conduire une animation?
- 30. Quelle est la meilleure façon de faire une boucle sur les lignes d'une table?