2013-05-03 62 views
1

在C#中我有這樣的正則表達式:正則表達式導致編譯錯誤

r = New Regex("^(("(?:[^"]|"")*"|[^,]*)(,("(?:[^"]|"")*"|[^,]*))*)$"); 

這是給我這個錯誤的時刻:「CS1002:;預計」

我理解,這是最有可能的轉義字符串問題,但我看不到它在哪裏。

歡迎您的幫助!

+4

君不見突出顯示在你的問題? – Bakuriu 2013-05-03 09:27:32

+0

我目前無法訪問體面代碼編輯器。 – 2013-05-03 09:28:41

+0

r = New Regex(「^((\」(?:[^ \「] | \」\「) )* \「」[[,] *)(,(\「(?:[^ \」] | \「\」)* \「| [^,] *))*)$」); – WhileTrueSleep 2013-05-03 09:35:25

回答

0

艾哈邁德KRAIEM如何已經告訴你,你需要逃避你"\

您的版本:

r = New Regex("^(("(?:[^"]|"")*"|[^,]*)(,("(?:[^"]|"")*"|[^,]*))*)$"); 

我的版本

r = New Regex("^((\"(?:[^\"]|\"\")*\"|[^,]*)(,(\"(?:[^\"]|\"\")*\"|[^,]*))*)$"); 
+0

或者在字符串之前添加@符號,例如@」^( ( 「(?:[^」] | 「」)* 「| [^,] *)((」(?:[^ 「] |」 「)*」 | [^,] *))*)$ 「 難道它沒有辦法嗎? – Alex 2013-05-03 10:35:02

+0

@Alex不會,因爲它就像'@」字符串「錯誤」;-)它只適用於「@」字符串\「字符串」而不是「」字符串\ \字符串「' – WiiMaxx 2013-05-03 10:40:35