【发布时间】:2018-01-18 23:36:57
【问题描述】:
需要使用正则表达式从字符串中提取值(出于性能原因)。 可能的情况如下:
- 红色,100
- 红色,“100”
- 红色,"100,"
- RED,"100\"ABC\"200"
生成的分隔 [label, value] 数组应为:
- ['RED','100']
- ['RED','100']
- ['RED','100,']
- ['RED','100"ABC"200']
我什至研究了解决方案和一个流行的库,只是拆分整个字符串来获取值, 例如'RED,100'.split(/,/) 可能就是这样做的。
但我试图用逗号创建一个正则表达式,只有当逗号未包含在引号类型值中时才会拆分。
这可能不是标准的 CSV 行为。但是最终用户很容易输入值。 输入标签,值。做任何内部价值,如果那被引号包围。如果要包含引号,请使用反斜杠。
感谢任何帮助。
【问题讨论】:
-
是的,以case 3为例。如果我们用逗号分隔,它会分成3块对吗?我们不想要的
-
逗号可以在第一部分(红色)吗?
-
是的,第一部分也是如此,即标签也是如此。
-
从用户的角度来看,它的输入很简单。格式是 label,value 但是如果你想在标签/值中输入逗号(,)或引号(“),我们不会对此进行拆分,
标签: javascript regex string