Регулярное выражение для строки с разными разделителями

С регулярками всегда были проблемы, поэтому буду признателен за помощь :) Имеется строка:

"test, test2, [email protected], 1234$, \"Test3, Test4\", \"Test5, Test6\""

Подскажите пожалуйста, как будет выглядеть регулярка для получения вот такого результата

test
test2
[email protected]
1234$
Test3, Test4
Test5, Test6

Заранее всем большое спасибо за помощь!


Ответы (1 шт):

Автор решения: Alexander Mashin

Попробуйте это: (\\"(?<chunk>.+?)\\"|(?!\s)(?<chunk>[^\\",]+)(?<!\s)). Искомое в группе chunk.

Предполагается, что внутри литерала не в кавычках не будет обратных слэшей и кавычек. (?!\s) и (?<!\s) предотвращают захват лишних пробелов в незакавыченные литералы, пропуская пробелы внутри них.

Демонстрация.

→ Ссылка