该行的种类为:(以wannabe CSV格式显示的行的示例)
""",100,""a"sa",""," "","" ","a"z","a"",""z","""",""",200,"a"a",""
我想要一个与所有不包含字符串的引号"
匹配的正则表达式...(以在以后删除它们并构建100%兼容的CSV)
我想出了部分解决方案:(?<!,)"(?!,)
使用否定的lookbehind和lookahead匹配仅不包含"
几乎成功了,但是正则表达式也匹配了每行的第一个字符和最后一个"
。
我想要一个可解决此问题的正则表达式,以便第一个和最后一个字符不属于匹配的正则表达式
一些想法如何做到?
答案 0 :(得分:2)
您可以使用
(?<!,|^)"(?!\s*(?:,|$))
请参见regex demo
详细信息
(?<!,|^)
-当前位置的左边没有字符串或逗号的开头"
-双引号(?!\s*(?:,|$))
-没有,
或字符串的末尾在当前位置的右边紧跟着0+空格。