2013-07-02 178 views
3

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

我的正则表达式:

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

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

任何意见,将不胜感激。

回答

9

你不小心漏出收盘]的正则表达式。

试试这个:

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

您正在运行反斜杠转义。正则表达式和C#字符串都需要它。为了避免C#需要它,把@符号英寸

尝试做它喜欢(与字符串的开头@)

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

+1,但要避免为*逐字字符串*或只是*逐字字符串* [参考]你应该指的是'@混乱 “......”'风格(http://msdn.microsoft.com/en-us/library/aa691090%28v=vs.71%29.aspx) –

相关问题