Procedura: analizzare gli indirizzi di posta elettronica in Visual Basic

In questo esempio viene descritta una semplice espressione regolare che permette di analizzare un indirizzo di posta elettronica.

Esempio

Nell'esempio viene utilizzata l'espressione regolare (\S+)@([^\.\s]+)(?:\.([^\.\s]+))+, ovvero:

  1. Insieme di uno o più caratteri diversi da spazio (acquisiti), seguito da

  2. Il carattere "@", seguito da

  3. Insieme di uno o più caratteri diversi da spazio e da punto (acquisiti), seguito da

  4. Uno o più degli elementi seguenti:

    1. Carattere ".", seguito da

    2. Insieme di uno o più caratteri diversi da spazio e da punto (acquisiti).

Il metodo Match dell'espressione regolare restituisce un oggetto Match che contiene informazioni sulla parte della stringa di input cui corrisponde l'espressione regolare.

    ''' <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

Per questo esempio è necessaria l'istruzione Imports per importare lo spazio dei nomi di System.Text.RegularExpressions. Per ulteriori informazioni, vedere Istruzione Imports (tipo e spazio dei nomi .NET).

Vedere anche

Attività

Procedura: verificare che le stringhe siano in formato di posta elettronica valido

Altre risorse

Analisi delle stringhe in Visual Basic