с этим кодом
import re str = 'hi my name is Alice' print(re.sub(str, 'hi', 'hello', re.IGNORECASE))
Я получил hello
hello
Я ожидаю, что это будет hello my name is Alice
hello my name is Alice
Что здесь не так?
Из pydocs , подпись re.sub () равна
re.sub(pattern, repl, string, count=0, flags=0)
, поэтому ваш код должен быть
print(re.sub('hi', 'hello', str, flags=re.IGNORECASE))