【发布时间】:2014-03-12 13:35:10
【问题描述】:
我有一些文本可能包含这样的链接:
<a rel="nofollow" target="_blank" href="http://loremipsum.net/">http://loremipsum.net/</a>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, <a rel="nofollow" target="_blank" href="http://loremipsum.net/">http://loremipsum.net/</a> sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
我想在此文本中找到链接(a 标签),它的正则表达式模式是什么?
这种模式不起作用:
const string UrlPattern = @"(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?";
var urlMatches = Regex.Matches(text, UrlPattern);
谢谢
【问题讨论】:
-
解析任何和所有
<a>标签的正则表达式将是一个巨大的不可维护的黑匣子怪物。那是你想要的吗? -
您会考虑使用除正则表达式之外的其他解决方案,例如 HtmlAgilityPack 吗?如果是这样,您以后可能会避免很多痛苦
-
这是一个仅包含
a标记的文本。不是 HTML -
@HenkHolterman 这和上面的例子完全一样。
-
Obligatory link:请链接到答案,而不是非答案。