У меня есть функция, выводящая на выходе «Вашингтон, округ Колумбия, США». Мне нужно захватить «Вашингтон, округ Колумбия», по причинам, которые связаны с тем, как я обрабатываю все остальные город в стране. (Примечание: это не то же самое, что и "округ Колумбия", мне нужно, чтобы запятая была между "Вашингтон" и "округ Колумбия", пробелы допустимы)
Я не могу хоть убей, придумайте, как это запечатлеть.
Вот что я пробовал:
>>>location = "Washington D.C., DC, USA"
>>>match = re.search(r'\w+\s(?:D\.C\.), \w\w(?=\W)', location).group()
>>>match
u'Washington D.C., DC'
Разве (?: ...) не должно просто совпадать (а не захватывать) "DC"?
Вот документы 2.7.2:
(?: ...) Версия обычных круглых скобок без записи. Соответствует любому регулярному выражению внутри круглых скобок, но подстрока, сопоставленная группой, не может быть получена после выполнения сопоставления или ссылки позже в шаблоне.
Что дает ??
Заранее спасибо!