- ベストアンサー
Perlで メールアドレスを削除する方法
PerlでCGIを組んでいます。 textareaで入力され送信された内容から メールアドレスを削除したいのです。 例えば、 ***@xxx.yy.zz のような文字列があったら 自動的にそれを削除するには、 どんな方法が一番簡単に記述できるでしょうか? もっと砕けていえば、 「@ を検索して、その前後5文字ずつを消す。」 とかそんなイメージのことでも構いません。 つまり、メールアドレスを不完全な形でもいいから自動的に削除したいのです。 何かアイデアがありましたら教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。正規表現を使った置換を行えばできます。 $buff = 'はなもげら hana@mogera.com もげもげ'; $buff =~ s/\s.*@.*\s//g; print $buff; こうすると、メールアドレスだけ削除できますが、 この場合メールアドレスの前後に空白が入っていないといけません。 @ の前後5文字を削除というのであれば、 $buff =~ s/.{5}@.{5}//g; とします。 $buff = 'はなもげらhana@mogera.comもげもげ'; $buff =~ s/\s*[a-zA-Z0-9_\-\.]*@[a-zA-Z0-9_\-\.]*\s*//g; print $buff; すると、前後がであれば空白が無くても削除します。
お礼
お礼が遅くなってすいません。 どうもありがとうございます 大変参考になりました!