正規表現:複数単語があるときの先頭マッチ、最長マッチ

I can't help loving can.
という文章があって、
/.*can/
でマッチすると、
文末の”can”にマッチしてしまう。
これは、対象の文字列が複数ある場合、最も長い物にマッチしようとする「最長マッチ」の機能を持っているから。
最初の文字とマッチしたい場合は
?をつける。
/.*?can/
これて一番最初の I can'tのところでマッチする。
http://www5c.biglobe.ne.jp/~can/perlpro/regexp2.html

タイトルとURLをコピーしました