正则表达式怎样判断连接中是否有.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( "不包含 ");
}