我写了一个正则表达式,它应该匹配一个没有空格,正斜杠或反斜杠的字符串。问题是,我收到了“未终止的设置”错误。
我的正则表达式:
Regex checkForSpace = new Regex("^[^\\s\\/\\]+$");
在我添加反斜杠片段之前它应该正常工作,现在我收到了错误。不完全确定我做错了什么。这是我第一次使用正则表达式的重要经验。
任何建议都将受到赞赏。
答案 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/\\]+$");