2010年5月17日月曜日

正規表現で、メルアドだけ抜き出したメモ。

正規表現で、以下のように名前の後に<>(小なり、大なり記号)でくくられた形式のメールアドレスを抜き取りたいと思い、うまくいったのでメモです。

「.*?」という正規表現がポイントでした。
「.*」が任意の一文字の0回以上の繰り返しですが、
そのままだと一番最後の「<」のところまでいってしまうので、 「?」をその前に付けてやると、”貪欲でない”選択となって、各><で囲まれた部分部分を抜き出してくれました。 「.*?」、ありがたや。 (以下のアドレスはもちろんダミーです。アットマークも全角文字になっています。)

$text="太郎<a@example.com>, 花子<b@example.com>,";
$text.="次郎 <c@example.com>,良子 <d@example.com>";
$result=preg_replace("/>.*?</",",",$text);
echo $result;

0 件のコメント:

コメントを投稿