방법: Visual Basic에서 전자 메일 주소 구문 분석

다음 예제에서는 전자 메일 주소를 구문 분석하는 간단한 정규식을 보여 줍니다.

예제

다음 예제에서는 다음과 같은 의미의 (\S+)@([^\.\s]+)(?:\.([^\.\s]+))+ 정규식을 사용합니다.

  1. 하나 이상의 공백 없는 문자(캡처됨) 설정

  2. "@" 문자 입력

  3. 공백 및 마침표가 없는 하나 이상의 문자(캡처됨) 설정

  4. 다음 중에서 하나 이상을 입력합니다.

    1. "." 문자 입력

    2. 공백 및 마침표가 없는 하나 이상의 문자(캡처됨) 설정

정규식의 Match 메서드는 정규식이 일치하는 입력 문자열의 일부분에 대한 정보가 들어 있는 Match 개체를 반환합니다.

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

다음 예제에서는 Imports 문을 사용하여 System.Text.RegularExpressions 네임스페이스를 가져와야 합니다. 자세한 내용은 Imports 문(.NET 네임스페이스 및 형식)을 참조하십시오.

참고 항목

작업

방법: 문자열이 올바른 전자 메일 형식인지 확인

기타 리소스

Visual Basic의 문자열 구문 분석