Что нового

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

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Помогите с регуляркой что бы из строки содержацие 4 значения разделенные ; получилось 4 элемента массива:
Вот экранированная строка: 2;"2"",2;2";3;4
Должно быть:
2
2",2;2
3
4

Правила экранирования такие:
1) Значения, содержащие зарезервированные символы (двойная кавычка, запятая, точка с запятой, новая строка) обрамляются двойными кавычками (");
2) если в значении встречаются кавычки — они представляются в файле в виде двух кавычек подряд.


Добавлено:
Сообщение автоматически объединено:

Или подскажите готовый парсер, можно в виде dll
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
StringRegExp - Ищет в строке совпадения с образцом, заданным в виде регулярного выражения.
То есть в результат попадают куски текста, которые подходят под шаблон. При этом, вот эти куски текста не редактируются, попадают в результат как есть.

StringRegExpReplace - Заменяет в строке куски текста, которые подходят под шаблон на что-то другое. В самой строке. Результатом является исходная строка с заменами. Не массив совпадений.

Одновременно сформировать массив результатов поиска и выполнить в них операцию замены не представляется возможным.
Нужно делать два прохода.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Верх