Javascript 用regex解析CSV

Javascript 用regex解析CSV,javascript,csv,Javascript,Csv,我试图从CSV中阅读以下内容,并进行相应拆分: “1000”;" ";"";;0;0;0;0 "1001";“tit;le1”;“描述”;0;0;0;0 "1002";“标题2”;“描述2”;0;0;0;0 "1003";“标题3”;“desc123 desc23 desc2 de sc34 dfd desc45 desc454;, dfd desc desc”;0;0;0;0 "1004";“倾斜4”;“5”;0;0;0;0 我使用的是[^;“][^”]+,如果上面的代码段中不是空的,我可以

我试图从CSV中阅读以下内容,并进行相应拆分:

“1000”;" ";"";;0;0;0;0
"1001";“tit;le1”;“描述”;0;0;0;0
"1002";“标题2”;“描述2”;0;0;0;0
"1003";“标题3”;“desc123 desc23 desc2 de
sc34 dfd desc45 desc454;,
dfd desc desc”;0;0;0;0
"1004";“倾斜4”;“5”;0;0;0;0
我使用的是
[^;“][^”]+
,如果上面的代码段中不是空的,我可以得到
之间字符串的结果


我也需要空的东西。你能帮我更正这里的正则表达式吗?[^;“][^”]+

你想在“”之间取东西吗?除了用作分隔符的那些之外,没有其他的了。那么,
(.*?)
应该可以工作。

根据我最新评论中的规范,正确的表达式是
/(“?).*?\2)(;|$)/gsm

我可以建议编辑标题以更好地表示实际问题吗?是否有可能得到一个完整的、实际的代码片段?这将使您更容易看到问题并回答!谢谢。用分隔符分割每一行不是更容易吗?“?使用现成的JavaScript CSV解析器是一个选项吗?@felixjiricka否,因为“;”可以出现在值中,而不仅仅是值之间。没有不情愿的量词也一样:
”([^”]*)“
”([^”]*).
。这3个表达式对我都不起作用。我正在尝试URL()。您是否输入了包括“s”在内的表达式?哦,如果我理解正确,则有一个多行字符串需要匹配。在这种情况下,应该对表达式使用
s
标志。因此:
/“(.*?”/gs
。尝试了这个方法,但它没有捕获0和空的ex-;;0;0;0;在第一行中为0,在其他行中为0。我在上一个答案中包含了用于分组的括号,假设您不希望“s。现在我认为您需要,但括号是出于另一个原因需要的:使用此表达式的目标是第一个捕获组,而不是整个匹配。为了完整性,使用捕获组2,从值中剥离“s:
/(“?)(.*?)\1(;|$)/gs
。这同样有效。实际上,我正在尝试拆分为每一行,但因为我无法拆分为行,所以我现在考虑拆分为每一个字符串,然后稍后创建一个行项目。我想你也许能帮我解决我的实际问题,因为如果我可以拆分为一行,这将节省我很多。我又发了一篇帖子寻求答案。如果你也能在这里帮助我,那就太好了。我刚刚注意到没有;s位于行的末尾,但您希望在那里分隔(除非在字符串中)。因此,我编辑了答案,添加了
m
标志,这样就不会将
0
等“1001”
放在一起。您链接的问题已关闭。请编辑它,并申请重新打开或张贴另一个希望不会被关闭。但是,请明确指定您的目标,最好在示例文本下包含所需的匹配列表。