以纯文本格式识别URL

gfr*_*zle 9 regex asp.net url

这应该很容易,但我不确定如何最好地去做.我有一个WinForms应用程序,让用户输入长描述.有时候,他们会键入URL,RichTextBox会识别它们并在显示时使它们可以点击.

我正在将应用程序移动到网络上,我不确定如何使这些相同的URL可以点击.是否有一些半自动方式将" http://www.google.com "或"www.google.com" 转换为可点击链接?我是否必须使用RegEx匹配?

MrK*_*urt 13

这实际上是一个非常棘手的问题.你可以用正则表达式接近但不完美.这里有一个非常好的潜在正则表达式模式细分:http://www.regexguru.com/2008/11/detecting-urls-in-a-block-of-text/

他列出的最后一个似乎对大多数用途来说可能已经足够好了:

\b(?:(?:https?|ftp|file)://|www\.|ftp\.)
  (?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#/%=~_|$?!:,.])*
  (?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[A-Z0-9+&@#/%=~_|$])
Run Code Online (Sandbox Code Playgroud)