读书人

请问:用正则式判断文件名是否合法

发布时间: 2012-02-19 19:43:38 作者: rapoo

请教:用正则式判断文件名是否合法
请教:用正则式判断文件名是否合法
出现错误:正在分析“/|\|<|>|*|?”- 限定符 {x,y} 前没有任何内容。

C# code
/// <summary>        /// 正则式判断,是否为合法文件格式,是则返回Ture,否则返回False;        /// </summary>        /// <param name="fileName"></param>        /// <returns></returns>        public bool RegexIsInvalidFileName(string fileName)        {          if(fileName.Length>255)           {             return false;           }          else          {              Regex regex = new Regex(@"/|\|<|>|*|?");              return regex.IsMatch(fileName) ? false : true;           }        } 


[解决办法]
C# code
Regex regex = new Regex(@"/|\\|<|>|\*|\?");
[解决办法]
正则中如果匹配字符串本身,有些字符需要转义的,楼主的例子中
\ * ?

另外按楼主的需求,要判断的都是单个字符,不要那样写,楼主的写法与下面这种写法的效率差别非常大
C# code
Regex regex = new Regex(@"[/\\<>*?]"); 

读书人网 >C#

热点推荐