Condividi tramite


Procedura: analizzare gli indirizzi di posta elettronica in Visual Basic

Aggiornamento: novembre 2007

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]+))+ che si compone degli elementi seguenti:

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

  2. 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

L'esempio è basato sul presupposto che venga utilizzata l'istruzione Imports per importare lo spazio dei nomi 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