From: Yosuke Suzuki <yosuke / jmail.plala.or.jp>
Subject: [ruby-list:42691] リンクを抜き出す正規表現について
Date: Wed, 16 Aug 2006 00:25:28 +0900

るびきちです。

> <a class=l href="hogehoge">bar</a>baz

正規表現の話題とは外れますが、htreeというHTML/XML処理ライブラリを使ってみます。
htreeはかなり巨大なライブラリですが、属性やテキストを抜き出すのは簡単です。
http://raa.ruby-lang.org/list.rhtml?name=htree


require 'htree'
htree = HTree('<a class=l href="hogehoge">bar</a>baz')
htree.children.find_all{|e| e.elem? && e.qualified_name == 'a'}.
  map{|e| [e.fetch_attr("href"), e.extract_text.to_s]}
# => [["hogehoge", "bar"], ["foo", "baz"]]

--
rubikitch
http://www.rubyist.net/~rubikitch/