方法 : Visual Basic の文字列に含まれている URI を識別する
更新 : 2007 年 11 月
ここでは、簡単な正規表現を使って文字列内の URI (Uniform Resource Identifier) を識別する方法を示します。誤認識 (誤って URI と識別されるテキスト) の数を減らすために、URI が厳密な形式であると仮定します。このため、有効な URI が識別されない認識漏れが起こる可能性があります。
使用例
厳密な URI 形式は、([^=":\s]+:)?//[^\s"]+ という正規表現に一致します。これは、次の条件を意味します。
以下の文字が現れる可能性があります。
=、"、:、または空白文字ではない 1 つ以上の文字
それに続く : 文字
文字列 // がこれに続きます。
引用符または空白文字ではない 1 つ以上の文字があります。
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 文字列に含まれているハイパーリンクを識別する