htmlタグ間のアイテムをキャプチャするためにRuby正規表現を作成することになっている割り当てを完了しようとしていますが、本当に行き詰まっています。私はどこでも検索しましたが、これまで正規表現しか学習していないため、HTMLパーサーやその他のプログラムの使用に関するアドバイスしか見つかりません。
テキストの例は次のとおりです。
<span id="animal_display">
<a href="/b/bird">Bird</a>
<a href="/c/cat">Cat</a>
<a href="/c/dog">Dog</a>
</span>
キャプチャしようとしていますBird
Cat
Dog
この正規表現を使用して、最初の出現を取得できます。
/<span id="animal_display">.*?<[^>]+>(.*?)<\/[^>]+>.*<\/span>/m
これで3つすべてを取得できますが、3つを超えるアイテムが含まれる可能性のあるリストで正規表現を使用できるようにしたいと思います。
/<span id="animal_display">\s*<[^>]+>\s*(.*?)<\/a>.\s*<[^>]+>\s*(.*?)<\/a>.\s*<[^>]+>\s*(.*?)<\/a>.<\/span>/
不特定の数のアイテムで機能する可能性のある、より一般化された正規表現はありますか?アドバイスをいただければ幸いです。