C# Reg expression包含不以.com/.net/etc结尾的intranet站点
我正在使用regexlib生成一个正则表达式,以从字符串中获取url 到目前为止,我有以下几点:C# Reg expression包含不以.com/.net/etc结尾的intranet站点,c#,asp.net,regex,C#,Asp.net,Regex,我正在使用regexlib生成一个正则表达式,以从字符串中获取url 到目前为止,我有以下几点: message = Regex.Replace(message, @"((http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+ ([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?)", "<a target='_blank' href='$1'>$1</a>"); m
message = Regex.Replace(message, @"((http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+
([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?)", "<a target='_blank'
href='$1'>$1</a>");
message=Regex.Replace(message,@”((http | ftp | https):\/\/[\w\-\\\\+(\.[\w\-\\\\\\\\+)+
([\w\-\,@?^=%&;:/~\+\\]*[\w\-\@?^=%&;/~\+\\\]]),”;
这似乎相当准确,但在两件事上失败了:
www.yahoo.com
http://mysite/Views/Issues/ListView.aspx
不链接:(你能把它以返回结果的形式放在c#中吗,像这样:
data=Regex.Replace(data,@)((http | ftp | https):\/\/\\\\\\\\\\\\\\\\\\\\+([\w\-\,@?^=%&;:/~+\\\\\\\\\\\\\+]*[\w\-\@?^=%&;/~\+#])?”
不确定您的解决方案将如何考虑到这一点。它有一个正则表达式,正如详细阐述的那样,它基本上涵盖了所有情况。@Cu3PO42-我似乎无法实现这一点,您能不能告诉我,我尝试过的每个字符串文本都返回时没有url表单。因为我无法准确地看到它在您的代码中是如何出现的,所以我无法真正说明这一点t、 我已经成功地使用了它,但这并不重要,因为你已经找到了适合你的东西,是吗?
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);