如何:在 Visual Basic 中标识字符串中的 URI

更新:2007 年 11 月

此示例演示如何使用一个简单的正则表达式来标识字符串中的统一资源标识符 (URI)。为了减少误报(文本被错误标识为 URI)次数,已假定了一个具体的 URI 格式。这意味着将会存在一些有效 URI 未被标识出的漏报情况。

示例

URI 的某个具体格式可与正则表达式 ([^=":\s]+:)?//[^\s"]+ 匹配,这意味着:

  1. 出现了以下任意字符:

    1. 一个或多个字符(不是 =、"、: 或空格字符)的集合,后跟

    2. : 字符,后跟

  2. 字符串 //,后跟

  3. 一个或多个字符(不是引号或空格字符)的集合。

Regex 对象是使用正则表达式初始化的。

Regex 对象的 Matches 方法返回一个 MatchCollection 对象,该对象包含有关正则表达式所匹配输入字符串的所有部分的信息。

    ''' <summary>Identifies URIs in text.</summary>
    ''' <param name="text">Text to parse.</param>
    ''' <remarks>Displays each URI in the input text.</remarks>
    Sub IdentifyURIs(ByVal text As String)
        Dim uriRegex As New Regex("([^="":\s]+:)?//[^\s""]+")
        Dim output As String = ""
        For Each m As Match In uriRegex.Matches(text)
            output &= m.Value & vbCrLf
        Next
        MsgBox(output)
    End Sub

此示例要求使用 Imports 语句来导入 System.Text.RegularExpressions 命名空间。有关更多信息,请参见 Imports 语句(.NET 命名空间和类型)

请参见

任务

如何:在 Visual Basic 中识别 HTML 字符串中的超链接

如何:从字符串中剥离无效字符

其他资源

分析字符串 (Visual Basic)