• 締切済み

メールアドレス「あいうえお<xxx@yyy.zzz>」@より前の「xx

メールアドレス「あいうえお<xxx@yyy.zzz>」@より前の「xxx」と@より後の「yyy.zzz」 を取り出したいと思っているのですが、正規表現でどのように書けばよいのでしょうか。 元のメールアドレスは「xxx@yyy.zzz」だけの場合もあったりします。 よろしくお願いいたします。

  • Perl
  • 回答数1
  • ありがとう数18

みんなの回答

回答No.1

表示がずれるので、全角の空白があることに注意。全角の空白を通常のスペースにして下さい。 # メールアドレスのフォーマットのチェックが不完全 # 正確にやる場合は、http://www.din.or.jp/~ohzaki/mail_regex.htm 参照のこと my @mail_list = qw(あいうえお<xxx@yyy.zz> aaa@bbb.cc ddd.eee.ff); for my $mail (@mail_list) {   if ( $mail =~ /([^<]+)@([^>]+)/ ) {     my $user  = $1;     my $domain = $2;     print "user=$user, domain=$domain", $/;   }   else {     warn "$mail : format error", $/;   } }

参考URL:
http://www.din.or.jp/~ohzaki/mail_regex.htm

関連するQ&A

  • OutlookExpressで送信メールアドレスが勝手に変更?

    Windows2000SP3+OutlookExpressを使用しています。 メールを送信しようと思って ika@xxx.yyy.zzz 宛にメールを作成した場合、 それが勝手に sakiika@xxx.yyy.zzz 宛に変更されてしまう場合があります。 条件としては sakiika@xxx.yyy.zzz をアドレス帳に登録しており、 ika@xxx.yyy.zzz をアドレス帳に登録していない場合に起こるようです。 また ika@xxx.yyy.zzz もアドレス帳に登録すれば問題はありません。 これは Outlook Express の仕様なのでしょうか? それとも何らかの不具合で、設定かパッチで回避が可能な問題なのでしょうか? ご存知の方がいらっしゃいましたらご教示下さい。

  • Wordで<:XXX>と<:/ZZZ>ではさまれた箇所以外を消去する方法

    Word文書中で下記のように<:XXX>と<:/ZZZ>ではさまれた箇所(この記号自体も含む)だけを残して他はすべて消去する(空白文字に置換)するには、どうすればよいでしょうか。XXX、YYY、ZZZは0文字以上の任意の英数字を表します。Wordのバージョンは2003です。 <:XXX>YYY<:/ZZZ> たとえば、 (処理前)<:XXX>日本<:/ZZZ>は<:XXX>極東<:/ZZZ>の国です。 (処理後)<:XXX>日本<:/ZZZ><:XXX>極東<:/ZZZ>

  • メールアドレスチェックの方法

    こんにちは。いつもお世話になります。 今回は、メールアドレスのチェックについて教えてください。 簡単な正規表現によるチェックは、いくつかのサイトで見かけるのですが、 もう少しアレンジしたくて投稿しました。 一発でチェックする正規表現より、まず原始的な方法で考えました。 1)@以下だけ考えます。 $pathmail = explode("@", $email); $dotcheck = explode(".", $pathmail[1]); この時のピリオドの回数ですが、現実に下記のようなものはありますか? xxx@yyy.ccc.aaa.yyy.jjj.ooo.com(.comはgTLDであれば何でもいいです) 僕がいままで出くわした実在するメールアドレスは、 @以下のピリオド数の最高が、xxx@yyy.zzzz.ne.jp と3つでした。 ■ 3つ以上のピリオドは存在しますか? 2)1の場合、サブドメインは、yyyだと思いますが、 サブドメインの法則といいますか、それをチェックする正規表現が あれば、教えて下さい。 特に英数字に囲まれたハイフン(-)が2つ連記される場合は存在しますか? まずは、これだけ教えて下さい。 どうか、よろしくおねがいします。

    • 締切済み
    • PHP
  • 企業風のメールアドレスの入手

    プロバイダのメールアドレスや無料メールアドレスではなく、 一見して企業のものと思われるメールアドレス 例えば aaa@XXX.co.jp や bbb@YYY.com のようなメールアドレスを入手したいのですが、格安の利用料でこのようなアドレスを利用する方法を教えてください。 企業名XXXやYYYには拘りません。 宜しくお願いします。

  • C#での文字抜き出し正規表現について

    C#にて、ファイルパスの中間部分だけを取り出す方法を考えておりますが、苦慮しております。 「C:\xxx\yyy\zzz.exe」の「yyy」だけ取り出す正規表現を教えてください。

  • アドレスの@の後ろ

    ものすごく初歩的な質問で申し訳ありません。 うまく言えないんですけど、 メールアドレスの@より後ろの部分というのは、 たとえば(@○○.so-net.ne.jp) ○○の部分は、他の人と重なることはないですか? 旦那と自分でアドレスをソネットでもってますが それは、@より前の部分が違うだけで後は一緒ですが @の前が知らないもので、後ろは一緒というアドレスがあった場合… どんなことが考えられるんでしょうか??

  • 秀丸で正規表現を使って置換

    あるファイルに関して、このような置換を行いたいです。 abc/xxx,yyy,zzz.html ↓ abc/xxx.html xxxとyyyとzzzはある任意の文字列(英数字で文字数はばらばら)で 「abc/」と「,」と「.html」は固定の文字列になります。 そこで、秀丸で開いて、正規表現による検索で、 「abc/.*,.*,.*.html」 として検索すると、該当部分が検索できることがわかりましたが、置換後をどのように設定すればいいのかわかりません。 置換後のabc/xxx.htmlの「xxx.html」の部分は検索前の任意の文字列をそのまま残したいのです。 秀丸の置換機能でこのようなことは可能でしょうか? 正規表現に関してあまり詳しくないので教えてください。

  • 電子メールアドレスの@より前と@より後ろ

    パソコンを超初心者のおじいさんに教えることになり、電子メールをしているところなんですが、電子メールアドレスについてたずねられてわかるなりに答えたのですがもう少しわかりやすい答え方がないかと思いまして質問させていただきました。 メールアドレスの@より前と後ろは何なのか?という質問にたいして私は下記のように答えました。間違っている点や補足しないといけない点をアドバイスお願いします。  「@より前は、ユーザーIDと言って自分の電子メールアドレスを作るときに自分で決められる部分。@より後ろは、ドメイン名といってもともと決まっているか一部分は自分が選べる場合もあり、最後のほうのjpは日本の略jpの前のcoは企業の略acなら教育機関(学校など)をあらわすものです」 このように言いましたが正確なところは私も知りません。ドメイン名とは@より後ろ全部をいうものなのかも知りません。 よろしくお願いします。

  • 表示されているレコードを1つ上にする

    環境:ACCESS2003&XP Pro テーブルとそのテーブルをソースにしたクエリーを元に一覧形式のフォームを作成しています。以下のようなイメージです。 品名  仕様  数量 単価 合計  A   xxx xxx xxx xxx ↑  b   yyy yyy yyy yyy ↑  C   zzz zzz zzz zzz ↑ *↑はボタン 上記の表示で↑ボタンをクリックすると 表示されたレコードがひとつ上に行く方法が わかりません。 よろしくお願いします。 例:上記で品名bの↑ボタンをクリック 品名  仕様  数量 単価 合計  b   yyy yyy yyy yyy ↑  A   xxx xxx xxx xxx ↑  C   zzz zzz zzz zzz ↑

  • 要素名を表示させたい

    <data>   <aaa xxx="0">     <yyy zzz="1"/>     <yyy zzz="2"/>   </aaa>   <bbb xxx="0">     <yyy zzz="1"/>     <yyy zzz="2"/>   </bbb>   <ccc xxx="0">     <yyy zzz="1"/>     <yyy zzz="2"/>   </ccc> </data> 上のようなXMLから、XSLのvalue-ofなどを使って、 要素名aaa、bbb、cccを表示させるにはどう記述すればいいのでしょうか?

    • ベストアンサー
    • XML

専門家に質問してみよう