用于解析网页链接的正则表达式?

Chr*_*ith 16 .net html regex

我正在寻找一个.NET正则表达式从网页中提取所有URL,但是没有找到一个足够全面的URL来涵盖指定链接的所有不同方法.

还有一个问题:

是否有一个正则表达式来统治它们?或者我最好使用一系列不那么复杂的正则表达式,只使用对原始HTML的mutliple传递?(速度与可维护性)

csm*_*mba 12

((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)
Run Code Online (Sandbox Code Playgroud)

我从regexlib.com上拿了这个

[编者注:{1}在这个正则表达式中没有实际功能; 看这篇文章 ]


Jef*_*ood 8

来自RegexBuddy库:

网址:全文查找

最后一个字符类确保如果URL是某些文本的一部分,则URL后的标点符号(如逗号或句点)不会被解释为URL的一部分.

\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]