使用此正則表達式時,我無法找到url,如果Url類似於 CIO.in,Compgterworld.iq,ChannelWorld.in等 取而代之,此正則表達式將電子郵件ID作爲網址。 如何排除電子郵件ID並將這些網址視爲有效的網址。查找字符串中的所有網址
const string MatchUrlPattern =
@"(^(http[s]?://)?([w]{3}[.])?([a-z0-9]+[.])+com(((/[a-z0-9]+)*(/[a-z0-9]+/))*([a-z0-9]+[.](html|php|gif|png))?)$)|(^([.]/)?((([a-z0-9]+)/?)+|(([a-z0-9]+)/)+([a-z0-9]+[.](html|php|gif|png)))?$)";
Regex urlrx = new Regex(MatchUrlPattern, RegexOptions.Compiled | RegexOptions.IgnoreCase);
MatchCollection urlmatches = rx.Matches(contentString);
int urlnoOfMatches = matches.Count;
foreach (Match match in urlmatches)
{
Console.WriteLine(match.Value.ToString());
}
爲[Uri.TryCreate(https://msdn.microsoft.com/en-us/library/ms131572(V = VS.90)的.aspx)和[IsWellFormedUriString](https://msdn.microsoft.com/en-us/library/system.uri.iswellformeduristring.aspx)給你錯誤的結果? –
但是'@'可以在每個URL RFC中有效..例如'http://-.~_!$&'()* +,; =:%40:80%2f :::::: @ example.com'是一個有效的URL –
不要得到它。 我只需要一個正則表達式來查找字符串中的Url。網址就像 CIO.in Compgterworld.iq ChannelWorld.in @DragandDrop – SaTyA