Partager via


Comment : analyser des adresses de messagerie en Visual Basic

Mise à jour : novembre 2007

Cet exemple présente une expression régulière simple pour analyser une adresse de messagerie.

Exemple

Cet exemple utilise l'expression régulière (\S+)@([^\.\s]+)(?:\.([^\.\s]+))+, qui signifie :

  1. Ensemble d'un ou plusieurs caractères autres qu'un espace (capturé), suivi de

  2. Caractère "@", suivi de

  3. Ensemble d'un ou plusieurs caractères autres qu'un espace ou un point (capturé), suivi de

  4. Un ou plusieurs des éléments suivants :

    1. Caractère ".", suivi de

    2. Ensemble d'un ou plusieurs caractères autres qu'un espace ou un point (capturé).

La méthode Match de l'expression régulière retourne un objet Match qui contient des informations sur la partie de la chaîne d'entrée qui correspond à l'expression régulière.

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

Cet exemple requiert que vous utilisiez l'instruction Imports pour importer l'espace de noms System.Text.RegularExpressions. Pour plus d'informations, consultez Imports, instruction (espace de noms et type .NET).

Voir aussi

Tâches

Comment : vérifier que des chaînes sont dans un format d'adresse électronique valide

Autres ressources

Analyse de chaînes en Visual Basic