2011-06-17 59 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' –