방법: Visual Basic에서 HTML 문자열의 하이퍼링크 식별

다음 예제에서는 HTML 문서에서 하이퍼링크를 식별하는 간단한 정규식을 보여 줍니다.

예제

다음 예제에서는 다음과 같은 의미의 <A[^>]*?HREF\s*=\s*"([^"]+)"[^>]*?>([\s\S]*?)<\/A> 정규식을 사용합니다.

  1. "<A" 문자열

  2. ">" 문자를 포함하지 않는 0개 이상의 문자로 구성된 가장 작은 문자 집합

  3. "HREF" 문자열

  4. 0개 이상의 공백 문자

  5. "=" 문자

  6. 0개 이상의 공백 문자

  7. 따옴표

  8. 따옴표(캡처됨)를 포함하지 않는 문자 집합

  9. 따옴표

  10. ">" 문자를 포함하지 않는 0개 이상의 문자로 구성된 가장 작은 문자 집합

  11. ">" 문자

  12. 0개 이상의 문자(캡처됨)로 구성된 가장 작은 문자 집합

  13. "</A>" 문자열

Regex 개체는 정규식을 통해 초기화되고 대/소문자를 구분하지 않습니다.

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

    ''' <summary>Identifies hyperlinks in HTML text.</summary>
    ''' <param name="htmlText">HTML text to parse.</param>
    ''' <remarks>This method displays the label and destination for
    ''' each link in the input text.</remarks>
    Sub IdentifyLinks(ByVal htmlText As String)
        Dim hrefRegex As New Regex( 
            "<A[^>]*?HREF\s*=\s*""([^""]+)""[^>]*?>([\s\S]*?)<\/A>", 
            RegexOptions.IgnoreCase)
        Dim output As String = ""
        For Each m As Match In hrefRegex.Matches(htmlText)
            output &= "Link label: " & m.Groups(2).Value & vbCrLf
            output &= "Link destination: " & m.Groups(1).Value & vbCrLf
        Next
        MsgBox(output)
    End Sub

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

참고 항목

개념

예제: HREF 스캐닝

기타 리소스

Visual Basic의 문자열 구문 분석