我正在寻找一个.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}在这个正则表达式中没有实际功能; 看这篇文章 ]
来自RegexBuddy库:
最后一个字符类确保如果URL是某些文本的一部分,则URL后的标点符号(如逗号或句点)不会被解释为URL的一部分.
\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]