Regex для разрыва строки внутри и снаружи кавычек - PullRequest
0 голосов
/ 21 декабря 2011

Мне нужно разбить строку по частям вокруг кавычек ('"'), используя Regex, я могу использовать строку, например

// Split the string c using " as a delimiter        
string [] pieces = c.split('"');

но это приведет к разрыву строки вокруг кавычек и не скажет, какая часть была в кавычках, а какая была вне кавычек, мне нужно знать об этом, потому что я работаю с ними обоими по отдельности. Мне нужно что-то вроде комбинации Regex.Match и Regex.Split.

Спасибо

Sid

1 Ответ

0 голосов
/ 21 декабря 2011

Снова шаблон normal* (special normal*)* на помощь!

Прокручивать ввод с помощью "([^"]*(?:\\"[^"]*)*)" и захватывать первую группу.

  • нормальный: [^"]
  • Специально: \\"

И он даже будет принимать двойные кавычки, как в "a \" b ", или даже" \ "", или даже пустую строку "".

(обратите внимание, что (?:...) - группа без захвата)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...