python re.sub - padrões de substituição alternativos

Desejo fornecer padrões de substituição alternativos ao re.sub.

Digamos que eu tenho dois padrões de pesquisa como alternativas, assim:

re.sub(r"[A-Z]+|[a-z]+", replacementpattern, string)

e, em vez de fornecer um padrão de substituição, gostaria de, de alguma forma, capturar qual alternativa de padrão de pesquisa correspondeu e fornecer padrões de substituição alternativos. Isso é possível? Obrigado.

PS. os códigos específicos aqui são irrelevantes, é uma pergunta geral.

questionAnswers(2)

yourAnswerToTheQuestion