简体   繁体   中英

case insensitive replacement in python using re

with this code

import re

str = 'hi my name is Alice'
print(re.sub(str, 'hi', 'hello', re.IGNORECASE))

I got hello

I expect it would be hello my name is Alice

What's wrong here?

From pydocs , the signature of re.sub() is

re.sub(pattern, repl, string, count=0, flags=0)

so your code should be

print(re.sub('hi', 'hello', str, flags=re.IGNORECASE))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM