2013-05-03 3 views
1

В C# У меня есть это регулярное выражение:Regex картина вызывает ошибку компиляции

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

На данный момент это дает мне эту ошибку: «CS1002:; ожидается»

Я понимаю, что это скорее всего, проблема с escape-строкой, но я не вижу, где она находится.

Приветствует вас за помощь!

+4

Разве вы не видите подсветку в вашем вопросе ? Вы забыли сбежать от '' '. – Bakuriu

+0

У меня нет доступа к достойному редактору кода на данный момент. –

+0

r = Новое регулярное выражение ("^((\ "(?: [^ \"] | \ "\") * \ "| [^,] *) (, (\" (?: [^ \ "] | \" \ ") * \" | [^,] *)) *) $ "); – WhileTrueSleep

ответ

0

как Ахмед KRAIEM уже говорил вам, что вам нужно, чтобы избежать вашего " с \

версии:

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

моя версия

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

Или добавьте символ @ перед строкой, например, как @ "^ (("(?: [^"] | "") * "| [^] *) ((" (?: [^ "] |" ") *" | [^] *)) *) $ " Не будет ли это трюк? – Alex

+0

@Alex нет, это не так, потому что это как' @ "строка" error "' ;-) он работает только для строки '@" string \ string "' вместо '' string \ \ строка "' – WiiMaxx

Смежные вопросы