我需要简单地看一下文件名中是否有一组特殊字符匹配我已经尝试了所有常用的正则表达式,包括下面的那些。所有这些示例都会找到除括号之外的任何特殊字符。
Regex.Match(filename, "[\\[\\]{}!@#]");
// I even separated this out into 3 like this
Regex.Match(filename, "[");
Regex.Match(filename, "]");
Regex.Match(filename, "[{}!@#]");
filename.IndexOfAny("[]{}!@#".ToCharArray()) != -1
是什么给出了?
答案 0 :(得分:4)
Regex.Match(test, @"[\[\]{}!@#]");
适合我:
string test = "aoeu[aoeu";
Match m = Regex.Match(test, @"[\[\]{}!@#]");
// m.Success == true
答案 1 :(得分:1)
您的解决方案
filename.IndexOfAny("[]{}!@#".ToCharArray()) != -1
已经很完美了。将正则表达式转义为Houdini。