民斗です。

Ruby の正規表現について教えてください。

文字列から "<TD>" と "</TD>" で囲まれた文字列を取り出そうと次の
ようにしました。

% ruby -e '"<TD>aa</TD><TD>bb</TD><TD>cc</TD>" =~ /<TD.*?>(.*?)<\/TD>/; p $1'
"aa"

これは期待通りに動いたのですが、"<TD>" と "</TD>" の間に改行文字が
あった場合のことを考えて次のようにしました。
# "." は "\n" には適合しないようなので…

% ruby -e '"<TD>aa</TD><TD>bb</TD><TD>cc</TD>" =~ /<TD.*?>((.|\n)*?)<\/TD>/; p $1'
"<TD>cc"

…となり、"aa" が取り出せません。ちなみに、次のように実際に改行が
入っている場合はうまくいきます。

% ruby -e '"<TD>aa\naa</TD><TD>bb</TD><TD>cc</TD>" =~ /<TD.*?>((.|\n)*?)<\/TD>/; p $1'
"aa\naa"


Ruby のバージョンは 1.1c2 です。

どうすれば期待通りに動くのでしょう。
--
民斗 <tommy / valley.ne.jp>