【发布时间】:2014-06-25 18:06:21
【问题描述】:
过去几天我一直在努力创建一个正则表达式,该表达式将匹配 CSV 文件字符串的归档值中的引号(如果有的话)。
我只想匹配引号或至少匹配整个字段值。例如: "", " ,a "test" 在这样的 CSV 字符串中:
"ID","iManufacturer","iMPartNumber","iSerialNumber","iSimCategory"
"1","""","230-132-111AA"," " ","a "test""
原因是如果引号出现在值中,则对它们进行转义,以便正确解析 CSV 文件。
如果在 JavaScript 中没有 lookbehinds,我发现很难找到解决方案。到目前为止,我想出了这个:
(?:[^,\r\n\t\f]*)["]+(?:[^,\r\n\t\f]*)["]+(?:[^,\r\n\t\f]*)(?=",|"\s|"\S)
它几乎匹配我需要的字符串(它也匹配值引号的开头):"""、" "、"a "test"。如果在最后一行,最后一个值包含引号,则不匹配。
有什么帮助吗?或者其他方式?
【问题讨论】:
标签: javascript regex csv