csv文件中引号内的字符串的正则表达式

时间:2017-11-15 12:49:04

标签: regex string csv quotes comma

我整个上午都在寻找答案,但我找不到答案。 我需要使用正则表达式从.csv中提取字段。问题是,一个字段是注释字符串,因此它包含逗号,引号和许多其他字符。 这是我的.csv示例文本:

> "field1","field2","field3","A description like this, with "quotes" inside quotes and also, commas. eeehhh#### ","field4","field5","field6"

这是我的正则表达式(我尝试使用许多其他选项,例如\ B“,”\ B和其他选项,但这些选项不起作用。

^\"(?<field1>[^\"]*)\"\,\"(?<field2>[^\"]*)\"\,\"(?<field3>[^\"]*)\"\,\"(?<description>[^\"]*)\"\,\"(?<field4>[^\"]*)\"\,\"(?<field5>[^\"]*)\"\,\"(?<field6>[^\"]*)\"

有没有办法告诉捕获组&lt;描述&gt;阅读ANYTHING,直到它找到完整的字符串 “,” 这是我的分隔符? 我不知道还能尝试什么。

有人可以帮我一把吗?

谢谢! :)

1 个答案:

答案 0 :(得分:0)

对于我的方法,使用@jaytea提供的解决方案工作得很好,就是这个:

  

您是否尝试过使用非贪婪的&#34;。?&#34;即。 \&#34;(??)\&#34; \,\&#34 ;?   额外的&#34;?&#34;告诉正则表达式引擎匹配几个字符   尽可能。你的正则表达式支持吗?

希望这可以帮助任何人在未来遇到与我相同的麻烦。谢谢!