Perl の正規表現のマッチングは最長一致が原則だが,数量指定子の後ろに「?」をつければ最短一致にもできるらしい.知らなかった.
% echo '<hoge>aaa</hoge> xxx <hoge>bbb</hoge>' | perl -pe 's/(<hoge>.*<\/hoge>)/REPLACED/g;' REPLACED % echo '<hoge>aaa</hoge> xxx <hoge>bbb</hoge>' | perl -pe 's/(<hoge>.*?<\/hoge>)/REPLACED/g;' REPLACED xxx REPLACED
最終更新時間: 2009-01-04 15:31