Я ищу регулярное выражение, чтобы идентифицировать вхождения неэкранированных символов в двойных кавычках в CSV-файле с разделителями-пробелами. То есть файл разделен пробелом, и каждое поле заключено в двойные кавычки, но некоторые поля содержат одинарные символы двойных кавычек, которые следует экранировать дополнительными двойными кавычками для соответствия RFC4180.
То есть
"Поле1" | "Поле 2" "текст в тексте" "" | "правильный"
"Поле1" | "Поле 2
"текст в тексте" "|" неверно "
потому что в первой строке одна двойная кавычка была правильно экранирована другим символом двойной кавычки.
Я ищу тест, чтобы найти неправильно экранированные двойные кавычки
Я могу найти двойные кавычки, которым не предшествует труба с [^|]\"
и я могу найти двойные кавычки, за которыми не следует труба с \"[^|]
Но вот где я застрял
Найти двойные кавычки, которым не предшествует труба И, за которыми не следует трубка И, за которыми не следует или не следует двойная кавычка