Котировки Regex Wrapping

Я пытаюсь заключить кавычки вокруг определенного раздела содержимого в CSV файле, текущий макет выглядит примерно так:

 ###element1,element2,element3,element4,element5,element6,element7,element8, "element9,
element9,""element9"",element9,
element9,element9,""element9",element10,
###

символы ### изображают новую строку, и каждая новая строка должна иметь один, проблема в том, что мне нужно получить весь элемент 9 в один набор двойных кавычек, однако в этой области есть несколько экземпляров двойных букв которые разбивают элемент на новые поля, и моя таблица расширяется за пределы полей, которые я изначально установил. Поэтому я считаю, что мне нужно удалить все "метки" между началом и концом element9, а затем снова ввести один набор, чтобы выделить весь раздел.

Я обратился к этому во-первых, пытаясь выбрать 8-ю запятую от начала и 2 запятой от конца:

 ^((?:[^,]+,){8})(.+)((?:,[^,]*){2})$

и заменяя

$1"$2"$3

Я попытался настроить начальный ### и заканчивать ###, чтобы выбрать эти два элемента, но без успеха.

любые предложения о том, как я могу это сделать

UPDATE

    ###BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,
BLAHBLAH,
BLAHBLAH,
BLAHBLAH, BLAHBLAH,
BLAHBLAH, BLAHBLAH,
BLAHBLAH,
"BLAHBLAH""",E,
###

Последнее поле всегда, кажется, содержит заглавную букву, поля перед изменением в размещении кавычек, чтобы действительно нацелиться на весь этот раздел, мне нужно выяснить, сколько запятых и сколько обратно мне нужно, удалите цитаты и затем восстановите их в правильных положениях.

Ответ 1

###(?:[^,]*,){8}\K([\s\S]*?)(?=,[^,]*,[^,]*?###)

Попробуйте это. Замените на "\1" или "$1". Смотрите демо.

https://regex101.com/r/tD0dU9/13

Ответ 2

/^(?:[^,]*,){8}([^#]*),[^,]*,[^,]*$/s

https://regex101.com/r/hU8yO6/1

Я думаю, что regexp, который у вас был, прав, за исключением необходимости модификатора /s.

Для notepad ++, получите модификатор s, отметив ". match newline":

^(?:[^,]*,){8}([^#]*),[^,]*,[^,]*$

Это выглядит как хорошая ссылка: http://docs.notepad-plus-plus.org/index.php/Regular_Expressions

Вероятно, вы захотите добавить парсеры соответственно, чтобы сделать группы захвата.

Ответ 3

^#+[^"]+"([^#]+),[^,]+,[^,]+###\s*$