包含不以.com /.net /等结尾的内网站点的正则表达式

本文关键字:网站 站点 正则表达式 com net 包含不 结尾 | 更新日期: 2023-09-27 17:52:52

我正在使用regexlib来提出一个正则表达式来从字符串中获取url。

到目前为止,我有以下内容:

    message = Regex.Replace(message, @"((http|ftp|https):'/'/['w'-_]+('.['w'-_]+)+
(['w'-'.,@?^=%&amp;:/~'+#]*['w'-'@?^=%&amp;/~'+#])?)", "<a target='_blank' 
href='$1'>$1</a>");

这似乎很准确,但在两件事上失败了:

  1. 我不能让它识别url,如果它的形式是www.yahoo.com
  2. 我不能让它工作的内部网网站,所以像http://mysite/Views/Issues/ListView.aspx不链接:(

我讨厌正则表达式,真的需要一些帮助。

包含不以.com /.net /等结尾的内网站点的正则表达式

如何:

编辑:

resultString = Regex.Replace(subjectString, @"('b(?:(?:(?:https?|ftp|file)://|www'.|ftp'.)[-A-Z0-9+&@#/%?=~_|$!:,.;]*[-A-Z0-9+&@#/%=~_|$]|((?:mailto:)?[A-Z0-9._%+-]+@[A-Z0-9._%-]+'.[A-Z]{2,6})'b)|""(?:(?:https?|ftp|file)://|www'.|ftp'.)[^""'r'n]+""|'(?:(?:https?|ftp|file)://|www'.|ftp'.)[^''r'n]+')", "$1", RegexOptions.IgnoreCase | RegexOptions.Multiline);