Извлечение строк в Python в одинарных или двойных кавычках

Мне нужна помощь с регулярным выражением Python для извлечения строк внутри одинарных или двойных кавычек. Я нашел решение, но регулярное выражение здесь на С#:

Как извлечь строка в кавычках (двойных или одинарных)

Мне нужно разобрать эту строку

tags = { 'one' : "two", "three", 'four' }

и вернуть элементы массива:

one
two
three
four

В настоящее время у меня есть это для одинарных кавычек:

quoted = re.findall(r"'(.*?)'", buffer, re.DOTALL)      

person Ron    schedule 30.10.2013    source источник


Ответы (1)


person    schedule
comment
Понял, спасибо! Можно ли как-то вернуть, какая цитата использовалась для каждого элемента? - person Ron; 30.10.2013
comment
@Ron Говоря re.findall(r"(['\"])(.*?)['\"]", buffer), вы получите список кортежей. - person devnull; 30.10.2013
comment
Однако это не удастся, если значение содержит экранированную кавычку или кавычку другого типа. Последнее можно исправить, используя обратную ссылку для закрывающей цитаты, например (['\"])(.*?)\1. - person tripleee; 30.10.2013