正则表达式包装行情

Dan*_*n W 10 regex csv notepad++

我试图在CSV文件中包含某些内容部分的引号,当前的布局是这样的:

 ###element1,element2,element3,element4,element5,element6,element7,element8, "element9,
element9,""element9"",element9,
element9,element9,""element9",element10,
###
Run Code Online (Sandbox Code Playgroud)

###符号描述了一个新行,每个新行应该有一个,问题是我需要将所有元素9放到一组双引号中,但是在该区域内有多个双引号实例可以分解新字段中的元素使我的表格扩展到我最初设置的字段之外.所以我相信我需要删除element9的开始和结束之间的所有"标记,然后重新引入一组以突出显示整个部分.

我首先尝试从头开始选择第8个逗号,从结尾选择2个逗号:

 ^((?:[^,]+,){8})(.+)((?:,[^,]*){2})$
Run Code Online (Sandbox Code Playgroud)

并替换为

$1"$2"$3
Run Code Online (Sandbox Code Playgroud)

我试图将起始###和###作为目标,以选择这两个元素,但没有成功.

关于我如何做到这一点的任何建议

UPDATE

    ###BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,BLAHBLAH,
BLAHBLAH,
BLAHBLAH,
BLAHBLAH, BLAHBLAH,
BLAHBLAH, BLAHBLAH,
BLAHBLAH,
"BLAHBLAH""",E,
###
Run Code Online (Sandbox Code Playgroud)

最后一个字段似乎总是包含一个大写字母,之前的字段在引用位置上有所不同,所以要真正针对整个部分我需要计算出多少逗号和我需要返回的数量,删除引号然后恢复它们在正确的位置.

vks*_*vks 4

###(?:[^,]*,){8}\K([\s\S]*?)(?=,[^,]*,[^,]*?###)
Run Code Online (Sandbox Code Playgroud)

试试这个。替换为"\1""$1"。参见演示。

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