Регулярное выражение для строки с разными разделителями
С регулярками всегда были проблемы, поэтому буду признателен за помощь :) Имеется строка:
"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) предотвращают захват лишних пробелов в незакавыченные литералы, пропуская пробелы внутри них.