/ / 最新

swk's log - Perl 正規表現の最短一致

2005-05-22

* Perl 正規表現の最短一致 [tech]

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


Shingo W. Kagami - swk(at)kagami.org