Практическое руководство. Анализ адресов электронной почты в Visual Basic
Этот пример показывает простое регулярное выражение для синтаксического анализа адреса электронной почты.
Пример
В этом примере используется регулярное выражение (\S+)@([^\.\s]+)(?:\.([^\.\s]+))+, которое означает:
Набор, состоящий из одного или нескольких отличных от пробела символов (собранных), за которым следует
Символ "@", за которым следует
Набор, состоящий из одного или нескольких отличных от пробела символов (собранных), за которым следует
Один или несколько из следующих символов:
Символ "0", за которым следует
Набор, состоящий из одного или нескольких символов, отличных от пробела и не являющихся точками (собранных).
Регулярные выражения метода Match возвращает объект Match, содержащий сведения о том, какая часть входной строки соответствует регулярному выражению.
''' <summary>
''' Parses an e-mail address into its parts.
''' </summary>
''' <param name="emailString">E-mail address to parse.</param>
''' <remarks> For example, this method displays the following
''' text when called with "someone@mail.contoso.com":
''' User name: someone
''' Address part: mail
''' Address part: contoso
''' Address part: com
''' </remarks>
Sub ParseEmailAddress(ByVal emailString As String)
Dim emailRegEx As New Regex("(\S+)@([^\.\s]+)(?:\.([^\.\s]+))+")
Dim m As Match = emailRegEx.Match(emailString)
If m.Success Then
Dim output As String = ""
output &= "User name: " & m.Groups(1).Value & vbCrLf
For i As Integer = 2 To m.Groups.Count - 1
Dim g As Group = m.Groups(i)
For Each c As Capture In g.Captures
output &= "Address part: " & c.Value & vbCrLf
Next
Next
MsgBox(output)
Else
MsgBox("The e-mail address cannot be parsed.")
End If
End Sub
В этом примере необходимо использовать инструкцию Imports для импорта пространства имен System.Text.RegularExpressions. Дополнительные сведения см. в разделе Оператор Imports (пространство имен .NET и тип).
См. также
Задачи
Практическое руководство. Проверка строк на соответствие формату электронной почты