zoukankan      html  css  js  c++  java
  • [正则表达式]电子邮件中的发件人字段

    电子邮件中的发件人字段一般有以下几种形式:  
      1、"sender   name"   <sender@domain.com>  
      2、sender   name   <sender@domain.com>  
      3、sender@domain.com  
      我想匹配得到两样东西:  
      将前面的sender   name存入<fromname>,并且要去掉双引号,如果没有就返回空字符串;  
      将后面的邮件地址存入<from>,并且要去掉尖括号,如果没有就返回空字符串。  


     1 try   
     2     
     3     
     4   using   System;   
     5   using   System.Text.RegularExpressions;   
     6     
     7     
     8   string[]   slist   =   {"\"sender   name\"   <sender@domain.com>",   
     9       "sender   name   <sender@domain.com>",   
    10       "sender@domain.com"   
    11     };   
    12     
    13   Regex   r   =   new   Regex(@"""?(?<fromname>.*?)""?\s*[<]?(?<from>[^@\s]+\@[^@\s>]+)[>]?$");   
    14     
    15   foreach   (string   s   in   slist)   
    16   {   
    17   Match   m   =   r.Match(s);   
    18   Console.WriteLine("{0}   matches?   {1}",   s,   m.Success);   
    19   if   (m.Success)   
    20   {   
    21   Console.WriteLine("\tsender:***{0}***\temail:***{1}***",   m.Groups["fromname"].Value,     
    22     
    23   m.Groups["from"].Value);   
    24   }   
    25   }   
    26 


     1 try
     2 
     3 
     4 using System;
     5 using System.Text.RegularExpressions;
     6 
     7 
     8     string[] slist = {"\"sender name\" <sender@domain.com>",
     9             "sender name <sender@domain.com>",
    10             "sender@domain.com"
    11             };
    12 
    13     Regex r = new Regex(@"""?(?<fromname>.*?)""?\s*[<]?(?<from>[^@\s]+\@[^@\s>]+)[>]?$");
    14 
    15     foreach (string s in slist)
    16     {
    17         Match m = r.Match(s);
    18         Console.WriteLine("{0} matches? {1}", s, m.Success);
    19         if (m.Success)
    20         {
    21             Console.WriteLine("\tsender:***{0}***\temail:***{1}***", m.Groups["fromname"].Value,
    22 
    23 m.Groups["from"].Value);
    24         }
    25     }
    26 
    27 
  • 相关阅读:
    RAC RMAN 备份 RMAN03009 ORA19504 ORA27040 RMAN06012 channel c3 not allocated 错误分析
    Oracle 发送邮件 存储过程 代码
    RAC 之 RMAN 备份
    Oracle 一次小优化
    RAC 实例不能启动
    Oracle Hint
    RAC 之 RMAN 备份
    远程客户端 访问 ASM 实例
    RAC RMAN 备份 RMAN03009 ORA19504 ORA27040 RMAN06012 channel c3 not allocated 错误分析
    RAC the cluster database(DB_NAME) already exits
  • 原文地址:https://www.cnblogs.com/chengulv/p/751312.html
Copyright © 2011-2022 走看看