有这样的行:(想要的 CSV 中的行示例)
""",100,""a"sa",""," "","" ","a"z","a"",""z","""",""",200,"a"a",""
我想要一个匹配所有引号 "
的正则表达式未包含字符串...(在稍后阶段删除它们并构建 100% 兼容的 CSV)
我想出了这个部分解决方案:(?<!,)"(?!,)
使用负向后查找和向前查找仅匹配不包含 "
它几乎成功了,但是每行的第一个字符和最后一个字符都是 "
,也由正则表达式匹配。
我想要一个正则表达式来解决这个问题,所以第一个和最后一个字符不是匹配正则表达式的一部分
一些想法如何去做?
最佳答案
您可以使用
(?<!,|^)"(?!\s*(?:,|$))
请参阅regex demo
详细信息
-
(?<!,|^)
- 当前位置左侧没有字符串或逗号开头 -
"
- 双引号 -
(?!\s*(?:,|$))
- 否,
或字符串结尾,紧邻当前位置的右侧,前面有 0+ 个空格。
关于regex - 正则表达式匹配所有不包含引号的内容。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52919929/