VB.NET分析电子邮件地址示例解读

经常阅读我们技术文章的朋友们肯能还记得我们曾经向大家介绍过两种VB.NET发送邮件方法解读这篇文章,那么今天我们会从另一个角度来为大家讲解一下VB.NET分析电子邮件地址的实现方法,让大家彻底掌握VB.NET对于电子邮件操作的相关技巧。#t#

此示例演示一个用于分析电子邮件地址的简单的正则表达式。

此示例使用正则表达式 (\S+)@([^\.\s]+)(?:\.([^\.\s]+))+,该表达式的意思是:

一个或多个非空格字符集(已捕获),后跟字符“@”,后跟一个或多个非空格和非句点字符集(已捕获),后跟一个或多个以下各项:

字符“.”,后跟一个或多个非空格和非句点字符集(已捕获)。

正则表达式的 Match 方法返回一个 Match 对象,该对象包含有关正则表达式与输入字符串的哪一部分相匹配的信息。

VB.NET分析电子邮件地址代码示例:

 
 
 
  1. ''' < summary> 
  2. ''' Parses an e-mail address 
    into its parts.  
  3. ''' < /summary> 
  4. ''' < param name="emailString">
    E-mail address to parse.< /param> 
  5. ''' < remarks> For example, this 
    method displays the following   
  6. ''' text when called with 
    "[email protected]":  
  7. ''' User name: someone  
  8. ''' Address part: mail  
  9. ''' Address part: contoso  
  10. ''' Address part: com  
  11. ''' < /remarks> 
  12. Sub ParseEmailAddress(ByVal 
    emailString As String)  
  13. Dim emailRegEx As New Regex
    ("(\S+)@([^\.\s]+)(?:\.
    ([^\.\s]+))+")  
  14. Dim m As Match = emailRegEx.
    Match(emailString)  
  15. If m.Success Then  
  16. Dim output As String = "" 
  17. output &= "User name: " & 
    m.Groups(1).Value & vbCrLf  
  18. For i As Integer = 2 To 
    m.Groups.Count - 1  
  19. Dim g As Group = m.Groups(i)  
  20. For Each c As Capture In g.Captures  
  21. output &= "Address part: " 
    & c.Value & vbCrLf  
  22. Next  
  23. Next  
  24. MsgBox(output)  
  25. Else  
  26. MsgBox("The e-mail address 
    cannot be parsed.")  
  27. End If  
  28. End Sub 

此VB.NET分析电子邮件地址示例要求使用 Imports 语句来导入 System.Text.RegularExpressions 命名空间。有关更多信息,请参见 Imports 语句(.NET 命名空间和类型)。

THE END