人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

正規表現の勉強中なんですが躓いてます。メールアドレスが携帯電話(docomo/ボーダフォン/au/willcom)のものなのか、PCのものなのか判別する正規表現を教えて下さい。

●質問者: ikasamt
●カテゴリ:インターネット ウェブ制作
✍キーワード:AU DoCoMo pc WILLCOM ボーダフォン
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● antipattern
●35ポイント

環境にもよるかもしれませんが,Perl正規表現であれば

" /@(docomo|vodafone|ezweb)\.ne\.jp$/ "

という感じでヒットすると思います。

(Willcomのドメイン分かりません・・・すみません。)

http://www.kt.rim.or.jp/~kbk/regex/regex.html

◎質問者からの返答

回答ありがとうございます。

言語はrubyを想定してました。説明不足で申し訳ございません。


2 ● かせいさん
●35ポイント ベストアンサー

http://google.co.jp

URLはダミーです。


携帯電話 or PCで判別が出来ればOKですか?


携帯電話のドメインが以下の4種類ならば、

*@docomo.ne.jp

*@*.vodafone.ne.jp

*@ezweb.ne.jp

*@*.pdx.ne.jp

(*は任意の文字列)


この正規表現に引っかかるものが、携帯電話のアドレスです。

^[^@]+@(docomo|ezweb|[^\.]+\.pdx|[^\.]+\.vodafone).ne.jp$


PCだけ…となると、正規表現では文字列の否定が出来ないので、上の正規表現を否定文にするだけでは正しく動作しません。

そのため、例えば、携帯電話のメールアドレスを正規表現で検索して、全て空文字で置換してしまうなどの方法を自分はとっています。


他の方がもっとエレガントな回答を示していましたら、ポイントは結構です。

◎質問者からの返答

回答ありがとうございます。なるほど勉強になります。早速試してみたいと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ