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所列扩展名中
------解决方案--------------------楼上的是正则专家,不用看也知道是正解,哈哈
------解决方案--------------------学习