Преобразуйте разделенную запятыми строку в список, но игнорируйте запятую в кавычках
Как мне конвертировать"1,,2'3,4'"
в список? Запятые разделяют отдельные элементы, если они не заключены в кавычки. В этом случае запятая должна быть включена в элемент.
Это желаемый результат:['1', '', '2', '3,4']
, Одно регулярное выражение, которое я нашел в другом потоке, чтобы игнорировать кавычки, выглядит следующим образом:
re.compile(r'''((?:[^,"']|"[^"]*"|'[^']*')+)''')
Но это дает мне такой вывод:
['', '1', ',,', "2'3,4'", '']
Я не могу понять, откуда эти лишние пустые строки, и почему две запятые вообще печатаются, не говоря уже о том, чтобы вместе.
Я попытался сделать это регулярное выражение сам:
re.compile(r'''(, | "[^"]*" | '[^']*')''')
который в итоге ничего не обнаружил, и просто вернул мой первоначальный список.
Я не понимаю, почему, по крайней мере, он не обнаруживает запятые? Та же проблема возникает, если я добавлю?
после запятой.