Это сложно сделать, потому что по умолчанию модуль re
не смотрит на совпадающие совпадения. Новые версии Python имеют новый модуль regex
, который позволяет совпадающие совпадения.
https://pypi.python.org/pypi/regex
Вы хотели бы использовать что-то вроде
regex.findall(pattern, string, overlapped=True)
. Если вы застряли с Python 2.x или чем-то еще, у которого нет regex
, это все еще возможно с некоторыми обманами. Один блестящий человек решил это здесь:
Regex Python находит все совпадающие совпадения?
Как только у вас есть все возможные совпадающие (не жадные, я думаю) совпадения , просто определите, какой из них самый короткий, что должно быть легко.