>>> s='asdfasdfasdf'
>>> re.sub('asdf','ITEEDU',s)
'ITEEDUITEEDUITEEDU'
无re.I没问题
问题补充:
>>> re.sub('asdf','ITEEDU',s,re.I)
'ITEEDUITEEDUasdf'
有re.I只能匹配两个
满意回答:
因为re.sub有五个参数:
re.sub(pattern, repl, string, count=0, flags=0)
你在第四个参数写re.I相当于把count设成了2,所以只替换2次。
应该写成:
re.sub('asdf','ITEEDU',s,0,re.I)
或者
re.sub('asdf','ITEEDU',s,flags=re.I) # 推荐