ファイルのフォーマットを所有または管理している場合、正規表現を使用した XML や HTML の解析は、些細な作業であればほとんど問題ありません。そうしないと、ファイルを変更するだけで正規表現が壊れる可能性があります。
パーサーを使用すると、その問題を回避できます。私はNokogiriで恐ろしい XML を解析しましたが、認識さえしませんでした。1000 以上のフィードを処理する RSS アグリゲーターを作成した後、私はパーサーの使用に夢中になりました。
require 'nokogiri'
html = '<span id="preview-local-desc"> I want to pick up everything typed here.
Paragraphs, everything.
</span>'
doc = Nokogiri.HTML(html)
doc.at('span').text
# => " I want to pick up everything typed here.\n Paragraphs, everything.\n "
<span>
必要なタグが複数ある場合:
doc.search('span').map(&:text)
# => [" I want to pick up everything typed here.\n Paragraphs, everything.\n "]
複数の<span>
タグがあり、この 1 つだけが必要な場合:
doc.at('span#preview-local-desc').text
# => " I want to pick up everything typed here.\n Paragraphs, everything.\n "