python – 用于CSV拆分的正则表达式,包括多个双引号
我有一个包含文本的CSV列数据.每行用双引号分隔“
一行中的示例文本与此类似(注意:新行和每行之前的空格) "Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut ""enim ad"" minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat ""nulla pariatu""" "ex ea commodo consequat. Duis aute irure ""dolor in"" reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum." 以上代表2个后续行. 我想选择每个第一个双引号“(起始行)和每个最后双引号”之间包含的所有文本作为分隔组 正如你所看到的那样,文本中有换行符,以及后续的双引号“”,它是我需要选择的文本的一部分. 我想出了类似的东西 (?s)(?!")[^s](.+?)(?=") 但多个双引号打破了我想要的匹配 我是一个真正的新手正则表达式,所以我想也许我错过了一些非常基本的东西. Dunno如果相关,但我使用Sublime Text 3,所以应该是python我认为. 我能做些什么来实现我的需求? 解决方法
您可以使用以下正则表达式:
"[^"]*(?:""[^"]*)*" 见demo 此正则表达式将匹配双引号内的非引号或2个后续双引号. 它是如何工作的?让我分享一下debuggex.com的图片: 使用正则表达式,我们匹配: >“ – (1) – 字面引用 >“” – (4) – 双倍双引号 >“ – (6) – 最后的文字引用. 这比 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |