首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

正则表达式怎样判断连接中是否有.rar等解决办法

2012-01-10 
正则表达式怎样判断连接中是否有.rar等我要判断 ahref ????.rar /a里面是否有.rar或zip等等,怎么写

正则表达式怎样判断连接中是否有.rar等
我要判断 <a   href= "????.rar "> </a>   里面是否有.rar   或zip等等,怎么写?

[解决办法]
这个要看你在什么环境下使用,要实现什么功能,要求不同,写出的正则和所使用的方法是不同的

如果是在程序里使用,这样
string yourStr = ...................;
if (Regex.IsMatch(yourStr, @ " <a[^> ]*\.(rar|zip)\b[^> ]*> ", RegexOptions.IgnoreCase))
{
MessageBox.Show( "包含 ");
}
else
{
MessageBox.Show( "不包含 ");
}
[解决办法]
string strContent= " <a href= "????.rar "> </a> ";
if (strContent.Contains( ".rar "))
{
}

明确一个词,根本不用正则表达式出手。
[解决办法]
根据楼上高手的指引
可以这样实现(如果你不会写正则表达式的话):
if (yourStr.EndsWith( ".zip ",true,null) || yourStr.EndsWith( ".rar ",true,null))
{
MessageBox.Show( "包含 ");
}
else
{
MessageBox.Show( "不包含 ");
}
[解决办法]
如果是从整个字符串来判断,当然是没必要用正则,如果是判断 <a...> 标签内是否包含,还是用正则来做好一点,考虑到imwjb所说的情况,如果只是以.rar或者.zip为扩展名才算,那这样

string yourStr = ...................;
if (Regex.IsMatch(yourStr, @ " <a[^> ]*\.(rar|zip)\b(?![\w.])[^> ]*> ", RegexOptions.IgnoreCase))
{
MessageBox.Show( "包含 ");
}
else
{
MessageBox.Show( "不包含 ");
}

热点排行