2011-06-17 32 views
4

说我有这样的代码:C#正则表达式 - 如何忽略转义变量序列

someBoolsomeListsomeString只是一个随机的布尔值,列表和字符串,分别为(这是一个简单我试图做的例子)。 Filepath是一个文件路径,带有一堆反斜杠(即C:\\ somefolder \ somefile)。问题是通过运行此代码,我得到一个错误ArgumentException,用的东西像一个“无法识别的转义序列”问题“d:\\^h ......”我试图用

someBool = Regex.IsMatch(someString, @filepath); 

,我仍然看到错误。还有什么我忘记了吗?

+0

你确定你正在使用'someBool = Regex.IsMatch(someString,@filepath)同样的错误;'? – manojlds

+0

@manoj:那不是'@'做的。 '@'允许你使用'@ if'这样的变量。它不会神奇地告诉'正则表达式“如何读取字符串。 – SLaks

+0

您正在将filepath视为正则表达式?? !!这不是一个,所以你当然会得到错误。你想达到什么目的? – BonyT

回答

6

您是否尝试过使用Regex.Escape

Regex.IsMatch(someString, Regex.Escape(filepath)); 
+1

可能要添加',RegexOptions.IgnoreCase' –