Share via


Cómo: Analizar direcciones de correo electrónico en Visual Basic

Este ejemplo muestra una expresión regular simple para analizar una dirección de correo electrónico.

Ejemplo

Este ejemplo utiliza la expresión regular (\S+)@([^\.\s]+)(?:\.([^\.\s]+))+, que quiere decir:

  1. Conjunto de uno o más caracteres distintos del espacio en blanco (capturados), seguido

  2. El carácter "@", seguido de

  3. Conjunto de uno o más caracteres distintos del espacio en blanco (capturados), seguido de

  4. Uno o más de los siguientes elementos:

    1. El carácter ".", seguido de

    2. Un conjunto de uno o más caracteres distintos del espacio en blanco (capturados).

El método Match de la expresión regular devuelve un objeto Match que contiene información sobre con qué parte de la cadena de entrada coincide la expresión regular.

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

Este ejemplo requiere que utilice la instrucción Imports para importar el espacio de nombres System.Text.RegularExpressions. Para obtener más información, vea Instrucción Imports (Tipo y espacio de nombres de .NET).

Vea también

Tareas

Cómo: Comprobar si las cadenas tienen un formato de correo electrónico válido

Otros recursos

Analizar cadenas en Visual Basic