我在这个问题上遇到了困难 - 我有一个字符串,几乎是一个分号分隔的字符串,它可能是这样的:
'one; two; three "four; five;six"; seven'
我想使用 javascript 中的正则表达式将其拆分成一个数组,就像这样(例如,忽略双引号内部的任何分号):
['one','two','three "four; five;six"','seven']
我尝试过改编已知的工作 CSV 函数,但它们似乎不能适应第三个元素('three "four;five;six";')。
这似乎是一个正则表达式类型的问题,但如果存在使用不止正则表达式的解决方案,我当然很感兴趣!
更新:我还应该指出,在引号字符串中,分号前后可能会有空格。我已经更新了示例以反映这一点。
'one; two; three "four; five;six"; seven'
我想使用 javascript 中的正则表达式将其拆分成一个数组,就像这样(例如,忽略双引号内部的任何分号):
['one','two','three "four; five;six"','seven']
我尝试过改编已知的工作 CSV 函数,但它们似乎不能适应第三个元素('three "four;five;six";')。
这似乎是一个正则表达式类型的问题,但如果存在使用不止正则表达式的解决方案,我当然很感兴趣!
更新:我还应该指出,在引号字符串中,分号前后可能会有空格。我已经更新了示例以反映这一点。
(?!\s|;|$)(?:[^;"']*(?:"(?:\\.|[^\\"])*"|'(?:\\.|[^\\'])*')?)*
- DaoWen