Поделиться через


Практическое руководство. Анализ адресов электронной почты в Visual Basic

Этот пример показывает простое регулярное выражение для синтаксического анализа адреса электронной почты.

Пример

В этом примере используется регулярное выражение (\S+)@([^\.\s]+)(?:\.([^\.\s]+))+, которое означает:

  1. Набор, состоящий из одного или нескольких отличных от пробела символов (собранных), за которым следует

  2. Символ "@", за которым следует

  3. Набор, состоящий из одного или нескольких отличных от пробела символов (собранных), за которым следует

  4. Один или несколько из следующих символов:

    1. Символ "0", за которым следует

    2. Набор, состоящий из одного или нескольких символов, отличных от пробела и не являющихся точками (собранных).

Регулярные выражения метода 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 и тип).

См. также

Задачи

Практическое руководство. Проверка строк на соответствие формату электронной почты

Другие ресурсы

Анализ строк в Visual Basic