From: Masahiro Utsumi Date: 2006-08-16T00:32:55+09:00 Subject: [ruby-list:42692] Re: リンクを抜き出す正規表現について 内海@ベルギーです。 (.*) は欲張りマッチで出来るだけ長く見つけようとします。 (.*?) は最小マッチです。 これでいかがでしょうか? > suzukiといいます。 > > rubyの正規表現に関して > ご教授いただければと思います。 > > グーグルの検索結果を抜き出して再利用したいのですが、 > つまり > bar > となっているところで > hogehogeとbarを > 抜き出したいのですが、 > > 正規表現で > href=\"(http:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)\">(.*)<\/a> > と書くと改行になるまでにある最後の でマッチして > しまいます。 > > つまり > barbaz > という文字列をこの正規表現でマッチさせると > $1 = hogehoge > $2 = barbaz > > 一番手前の でマッチするにはどのように書けばいいのでしょうか? > > 手元のエディタ(サクラエディター)では > href=\"(http:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)\">([^()]*)<\/a> > で実現できるのですが、 > rubyではこの表現は使えないようです。 > > よろしくお願いします。 >