Regex: получить подстроки между запятыми - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Я столкнулся вот с такой проблемой: Есть строка типа:
подстрока 1, подстрока 2, текст с "кавычками", "текст, с запятой", "текст, с "кавычками" и запятой"
Каждая подстрока отделена запятой. В подстроку могут входить запятые (тогда она выделяется кавычками) и кавычки (в саму подстроку, независимо выделана она ими или нет). С запятыми я справился, использовав регулярное выражение "([^,]+)", НО в подстроку тоже может входить запятая. Тогда надо как то цепляться за кавычки, так и с учетом того что в подстроку могут входить еще кавычки. Тут моя логика даёт сбой. Я только начал работать с регулярными выражениями и может чего-то не понимаю, но все мои нагроможденные "письмена" отказывались работать. Пожалуйста, помогите мне разобраться с этой задачей. Заранее благодарен!
Ну с кавычками в кавычках я вопрос, можно сказать, решил. Регулярка:
(?:\s*("[\w\s"]+")\s*)|(?:\s*(\w+)\s*)
Но как быть с запятыми?

Решение задачи: «Regex: получить подстроки между запятыми»

textual
Листинг программы
(?:^|,)((?:(?:"[^"]*")*[^",]*)+)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.5 из 5
Похожие ответы