【发布时间】:2012-05-25 02:38:10
【问题描述】:
我正在使用以下正则表达式来查找文本中是否存在 url,但它似乎错过了一些 URL,例如:
youtube.be/8P0BxJOyoutube.com/watch?v=VrmlFL
还有一些 bit.ly 链接(但不是全部)
Match m = Regex.Match(nc[i].InnerText,
@"(http(s)?://)?([\w-]+\.)+[\w-]+(/\S\w[\w- ;,./?%&=]\S*)?");
if (m.Success)
{
MessageBox.Show(nc[i].InnerText);
}
有什么解决办法吗?
【问题讨论】:
-
您的正则表达式为您的示例返回 true;您的问题出在其他地方。
-
也许您可以向我们提供有关您的代码和您尝试解析的文本的更多详细信息。
-
正如其他 cmets 所建议的那样,两个 URL 都适用于当前表达式,正如在 gskinner.com/RegExr 使用这个方便的小工具测试过的那样
-
您的正则表达式对我有用,但我认为您在“?”之前缺少反斜杠
-
[\w- ;,./?%&=] 应该是 [\w- ;,./\?%&=]