共用方式為


HOW TO:在 Visual Basic 中識別 HTML 字串內的超連結

這個範例會識別 HTML 文件中超連結的簡單規則運算式 (Regular Expression)。

範例

這個範例會使用規則運算式 <A[^>]*?HREF\s*=\s*"([^"]+)"[^>]*?>([\s\S]*?)<\/A>,這表示:

  1. 字串 "<A",後面接著

  2. 不包含字元 ">" 之零或多個字元的最小集合,後面接著

  3. 字串 "HREF",後面接著

  4. 零或多個空白字元,後面接著

  5. 字元 "=",後面接著

  6. 零或多個空白字元,後面接著

  7. 問號字元,後面接著

  8. 不包含問號字元的字元集合 (已擷取),後面接著

  9. 問號字元,後面接著

  10. 不包含字元 ">" 之零或多個字元的最小集合,後面接著

  11. 字元 ">",後面接著

  12. 零或多個字元的最小集合 (已擷取),後面接著

  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 中剖析字串