内海@ベルギーです。

(.*) は欲張りマッチで出来るだけ長く見つけようとします。
(.*?) は最小マッチです。

これでいかがでしょうか?

> suzukiといいます。
> 
> rubyの正規表現に関して
> ご教授いただければと思います。
> 
> グーグルの検索結果を抜き出して再利用したいのですが、
> つまり
> <a class=l href="hogehoge">bar</a>
> となっているところで
> hogehogeとbarを
> 抜き出したいのですが、
> 
> 正規表現で
> <a class=l
> href=\"(http:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)\">(.*)<\/a>
> と書くと改行になるまでにある最後の </a> でマッチして
> しまいます。
> 
> つまり
> <a class=l href="hogehoge">bar</a>baz
> という文字列をこの正規表現でマッチさせると
> $1 = hogehoge
> $2 = bar</a><a href="foo">baz
> 
> 一番手前の </a> でマッチするにはどのように書けばいいのでしょうか?
> 
> 手元のエディタ(サクラエディター)では
> <a class=l
> href=\"(http:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)\">([^(</a>)]*)<\/a>
> で実現できるのですが、
> rubyではこの表現は使えないようです。
> 
> よろしくお願いします。
>