re.sub('\\baword\\b', lambda m: m.group(0)[0].lower() == m.group(0)[0] and
    'bword' or 'Bword', 'Aword aword', flags=re.I)
Как написать регулярное выражение для замены слова, но сохранить его регистр в Python?