我在正则表达式中遇到问题。
我想从给定的字符串中获取所有 URL,但不想获取以 .jpg、.css、.js、.gif 等结尾的 URL。
这是我的 ASP.NET C# 代码,
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13";
string result = client.DownloadString(strBasicUrl);
Regex MyRegex = new Regex("http(s)?://([\\w+?\\.\\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\,]*)?", RegexOptions.Multiline | RegexOptions.CultureInvariant | RegexOptions.Compiled);
MatchCollection matches = MyRegex.Matches(result);
foreach (var item in matches)
{
litResult.Text += item.ToString() + "<br>";
}
}
我想改变这个正则表达式......
如果我请求 strBasicUrl "http://www.Microsoft.com", 那么它不应该是 URL 下面的结果 例如 http://i.microsoft.com/en-us/homepage/shared/templates/components/hpSearch/images/searchSprite.ltr.gif http://i.microsoft.com/global/ImageStore/PublishingImages/Asset/Header/logo_skype.png
任何人都可以帮助我,非常感谢。
提前致谢, 阿米特 Prajapati