Захват одной последовательности символов в нескольких группах ⇐ Python

Программы на Python
Anonymous
Захват одной последовательности символов в нескольких группах

Сообщение Anonymous »

Мне нужно найти в строке все последовательности символов, соответствующие наборам символов.
По экземпляру:

Код: Выделить всё

re.findall(r"([a-z]+)|([A-Z]+)","aa BB cc DD")

return: [('aa', ''), ('', 'BB'), ('cc', ''), ('', 'DD')]
Похоже, что я могу использовать позицию в кортеже, чтобы определить, в какой группе находится строка.
Но это не работает, когда последовательность разделена на несколько групп:

Код: Выделить всё

re.findall(r"([a-z]+)|([a-zA-Z]+)","aa bB cc DD")

return: [('aa', ''), ('b', ''), ('', 'B'), ('cc', ''), ('', 'DD')]
Мне бы хотелось что-то вроде:

Код: Выделить всё

[('aa', ''), ('b', ''), ('', 'bB'), ('cc', ''), ('', 'DD')]
Я думаю, что это не работает, потому что символ «b» используется «([a-z]+)».nkss
Как я могу сделал это?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/408 ... ral-groups

Вернуться в «Python»