1

我需要简单地查看文件名中的一组特殊字符是否有任何匹配项我已经尝试了所有常见的正则表达式,包括以下表达式。所有这些示例都会找到除括号之外的任何特殊字符。

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

是什么赋予了?

4

2 回答 2

4
Regex.Match(test, @"[\[\]{}!@#]");

为我工作:

string test = "aoeu[aoeu";

Match m = Regex.Match(test, @"[\[\]{}!@#]");
// m.Success == true
于 2013-04-12T19:39:27.000 回答
1

您的解决方案

filename.IndexOfAny("[]{}!@#".ToCharArray()) != -1

已经很完美了。将转义正则表达式留给 Houdini。

于 2013-04-12T19:48:21.473 回答