Это может быть трудно объяснить, я сделаю все возможное. В настоящее время я работаю над синтаксическим анализатором потока преобразования csv в nodejs, но я изо всех сил пытаюсь заменить все \ n и \ r внутри кавычек ("), которые заключают значение.
На данный момент у меня есть следующие regex:
(^|[;])"(?:""|[^"])*[\n\r]+(?:""|[^"])*"
Где; - разделитель столбца.
И вот два примера: первый, где он делает то, что ожидается, и второй, где он захватывает, но не должен ' t, потому что; находится внутри кавычек.
Первый тест (успех)
test;"123";"this description with new line feed below should be
matched by regex";test;"1.0"
Второй тест (ошибка)
NewLine1;"test - this one should not be captured by the regex but its being captured ";test;1
NewLine2;"test that went wrong"
Есть ли способ выбрать текст в кавычках, содержащий точку с запятой перед первой цитатой и содержащий точку с запятой после последней цитаты, но игнорировать точку с запятой внутри кавычек? Я думаю, это то, что мне нужно, поэтому второй пример не принимается во внимание учетная запись для совпадения регулярного выражения.
Заранее спасибо.