それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Rubyで正規表現でグローバルマッチのやり方が分からない。

JavaScriptなら正規表現にグローバルマッチのオプションがあって/example\d+/gとか出来るんだけど。Rubyでやり方が分からなかった。そこでイロイロ試した。

どうやらString#grepを使うのが一番良さそう。

require 'open-uri'
require 'kconv'
a= open( 'http://d.hatena.ne.jp/takuya_1st/' ).read.toutf8

b = a.grep(%r"<a href=\"([^<]+)\" [^>]+>([^<]+)</a>"){|i|  [$1,$2]}
puts b