在vb.net中没有引号的http url的正则表达式模式

时间:2013-06-06 21:53:35

标签: regex vb.net

我正在使用此代码,但它只查找带有“”

的网址
Dim html As String = txtSource.Text
Dim mc As MatchCollection = Regex.Matches(html, """(http://.+?)""", RegexOptions.IgnoreCase)
For Each m As Match In mc
lstReapedLinks.Items.Add(m.Groups(1).Value)
Next

1 个答案:

答案 0 :(得分:1)

如果您希望字符串中包含多个网址,那么您需要定义它们的分隔符,例如,空格some text http://abc http://123 nonurltext或类似于基于您的正则表达式{{1一旦你有了这个分隔符,那么你可以用它来告诉正则表达式如何将你真正想要的字符串归零。以下内容将获得 http:// ... ,如果它括在括号中,如some text(http://abc) some other text (http://123) some more text忽略其他所有内容

(http://www.yahoo.com)

您应该只需更改此选项以满足您的需求,例如,如果您的分隔符是空格,那么只需将Regex.Matches(test, "(?<=\()http://.+?(?=\))", RegexOptions.IgnoreCase) \(替换为\)(表示空格)