如何转换"1,,2'3,4'"
成列表?逗号分隔各个项目,除非它们在引号内。在这种情况下,逗号将包含在项目中。
这是期望的结果:['1', '', '2', '3,4']
。我在另一个线程上发现忽略引号的一个正则表达式如下:
re.compile(r'''((?:[^,"']|"[^"]*"|'[^']*')+)''')
但这给了我这个输出:
['', '1', ',,', "2'3,4'", '']
我不明白,这些额外的空字符串是从哪里来的,为什么这两个逗号甚至都被打印出来了,更不用说一起打印了。
我尝试自己制作这个正则表达式:
re.compile(r'''(, | "[^"]*" | '[^']*')''')
最终没有检测到任何东西,只是返回了我的原始列表。
我不明白为什么,它至少不应该检测到逗号吗??
如果我在逗号后添加 a,也会出现同样的问题。