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:
Insieme di uno o più caratteri diversi da spazio (acquisiti), seguito da
Carattere "@", seguito da
Insieme di uno o più caratteri diversi da spazio e da punto (acquisiti), seguito da
Uno o più degli elementi seguenti:
Carattere ".", seguito da
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