• ベストアンサー

正規表現でURLを抽出したいと思っています。

お世話になります。 SPAMメール対策のため、フィルタ用のURLリストを作りたいと思っています。 秀丸にエクスポートした多数のSPAMメールの本文内から「http」で始まるURLを抜き出し、置換したいと思うのですがうまくいきません。 ^[^(http)].*$ で置換すればよいのかと思いましたが 文字列の否定はできないようです。 お知恵を貸して頂けると幸いです。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Dpop
  • ベストアンサー率51% (279/544)
回答No.1

URLを抽出すれば良いのですよね? 実は、URLの抽出って非常に難しいのです。 あまり一般には知られていない様なオーブションが、いろいろとあるためなのですよね。。 一般的なURLであれば、 ^https?://.+/(.+/)*$ で、指定した事になります。 秀丸の使い方は良く知りませんが。。 Perlであれば、 $_ =~ s|^https?://.+/(.+/)*$||g; の様にすれば、URLを削除した事になりまあ。 もっと、本格的なURLを抽出するのであれば、 http://www.din.or.jp/~ohzaki/perl.htm#URI を参考にしてみて下さい。

both_sides
質問者

お礼

お返事ありがとうございます。ただ、秀丸では使えないようで、Grepで抽出してリストを作成することにしました。教えて頂いたURLで勉強したいと思います。

関連するQ&A