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