我在最后几天一直在努力创建一个与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"
。如果在最后一行,则最后一个值包含引号。
有任何帮助吗?或者也许是其他方式呢?