방법: Visual Basic에서 HTML 문자열의 하이퍼링크 식별
다음 예제에서는 HTML 문서에서 하이퍼링크를 식별하는 간단한 정규식을 보여 줍니다.
예제
다음 예제에서는 다음과 같은 의미의 <A[^>]*?HREF\s*=\s*"([^"]+)"[^>]*?>([\s\S]*?)<\/A> 정규식을 사용합니다.
"<A" 문자열
">" 문자를 포함하지 않는 0개 이상의 문자로 구성된 가장 작은 문자 집합
"HREF" 문자열
0개 이상의 공백 문자
"=" 문자
0개 이상의 공백 문자
따옴표
따옴표(캡처됨)를 포함하지 않는 문자 집합
따옴표
">" 문자를 포함하지 않는 0개 이상의 문자로 구성된 가장 작은 문자 집합
">" 문자
0개 이상의 문자(캡처됨)로 구성된 가장 작은 문자 집합
"</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 네임스페이스 및 형식)을 참조하십시오.