正则表达式 CSV:匹配不是定界符的引号

Regex CSV : Match quotes that are not delimiters

我正在处理一个构建不当的 csv 文件,我创建了一个只匹配非分隔符的引号的正则表达式,在 this link 我成功了,但是你认为你可以优化我的正则表达式以只有引号而不是周围的字母,约束和不考虑开头或结尾的引号,示例:

"ModifTextePub";"ModifObservation";"Resume"Vitrine";"Observations"Criteres"";"InternetOK";"NumPhoto";"AmianteLe";"SNavantLe";"ActePrec";"ProprietairesPrec";"Situation";"FraisNotaires"

在这个例子中,只需要匹配 Resume " Vitrine 和 " Criteres 周围的那些“

我使用的正则表达式是

(.){1}(?<!;|\n|\r|\t)(")(?!;|\n|\r|\t)(.){1}

代替。

可以将具有包含正字符 类 的负环视的正则表达式转换为包含负字符 类 的正环视模式:

(?<=[^;\n\r\t])"(?=[^;\n\r\t])

参见regex demo。替换将是一个空字符串。

现在,仅当 " 紧跟在 ;、CR、LF 或 TAB 之外的任何字符时才会发生匹配。