当前位置: 代码迷 >> ASP.NET >> Regex简单有关问题
  详细解决方案

Regex简单有关问题

热度:8286   发布时间:2013-02-25 00:00:00.0
Regex简单问题.
匹配某些类型文件扩展名.   比如:
string   str   =   "*.doc;*.ppt;*.rar;*.hdr;   *.ex_;   *.bin;   *.exe;   *.ini;   *.inx;   *.cab ";

要求用str作为参数生成一个Regex   regEx2   =   new   Regex对象.
具体怎么写?



------解决方案--------------------------------------------------------
sf


------解决方案--------------------------------------------------------
可以用indexof()遍历.
------解决方案--------------------------------------------------------
学习
------解决方案--------------------------------------------------------
[.](doc|ppt)
后面的自己加上
-----------------------
CSDN 论坛助手
http://china-csdn.cn
------解决方案--------------------------------------------------------
.(jpg|bmp|txt)^

还要设置匹配大小写
------解决方案--------------------------------------------------------
或者楼主是不是想要这样一个效果

string yourStr = ............;
string str = "*.doc;*.ppt;*.rar;*.hdr; *.ex_; *.bin; *.exe; *.ini; *.inx; *.cab ";
string str2 = @ "^.*\.( " + Regex.Replace(str, @ ";?\s*\*\. ", "| ") + ")$ ";
Regex regEx2 = new Regex(str2);
if (regEx2.IsMatch(yourStr))
{
MessageBox.Show( "符合 ");
}
else
{
MessageBox.Show( "不符合 ");
}

输入:abc.doc  输出:符合
输入:E:\abc\def.bin  输出:符合
输入:cxz.jpg  输出:不符合
即检查扩展名是否包含在str所列扩展名中
------解决方案--------------------------------------------------------
楼上的是正则专家,不用看也知道是正解,哈哈
------解决方案--------------------------------------------------------
学习
  相关解决方案