我整个上午都在寻找答案,但我找不到答案。 我需要使用正则表达式从.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,直到它找到完整的字符串 “,” 这是我的分隔符? 我不知道还能尝试什么。
有人可以帮我一把吗?
谢谢! :)
答案 0 :(得分:0)
对于我的方法,使用@jaytea提供的解决方案工作得很好,就是这个:
您是否尝试过使用非贪婪的&#34;。?&#34;即。 \&#34;(??)\&#34; \,\&#34 ;? 额外的&#34;?&#34;告诉正则表达式引擎匹配几个字符 尽可能。你的正则表达式支持吗?
希望这可以帮助任何人在未来遇到与我相同的麻烦。谢谢!