正则表达式,用于消除空格,正斜杠和反斜杠

时间:2013-07-02 22:48:57

标签: c# regex

我写了一个正则表达式,它应该匹配一个没有空格,正斜杠或反斜杠的字符串。问题是,我收到了“未终止的设置”错误。

我的正则表达式:

Regex checkForSpace = new Regex("^[^\\s\\/\\]+$");

在我添加反斜杠片段之前它应该正常工作,现在我收到了错误。不完全确定我做错了什么。这是我第一次使用正则表达式的重要经验。

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:9)

您无意中逃避正则表达式中的结束]

试试这个:

                Regex       C# string
White space     \s          "\\s"
Backslash       \\          "\\\\"
Slash           /           "/"
                \s\\/       "\\s\\\\/"
Regex checkForSpace = new Regex("^[^\\s\\\\/]+$");

答案 1 :(得分:6)

你正在遇到反斜杠逃避。正则表达式和C#字符串都需要它。为避免C#需要它,请将@符号放入。

尝试这样做(使用字符串开头的@)

new Regex(@"^[^\s/\\]+$");