我有一个这样的程序:
import re
x='aaaaaaaa;aa;aaa;aaa;aaaaaaaaaa;'
x=re.sub(';','.',x, re.IGNORECASE)
print x
但是输出是这样的:
aaaaaaaa.aa.aaa;aaa;aaaaaaaaaa;
还有一些;
没有换成a .
,为什么?
使用 Python 2.6
更新 - 在 Python 2.6 中,您可以这样做:
>>> re.sub('(?i);','.',x)
'aaaaaaaa.aa.aaa.aaa.aaaaaaaaaa.'
对于 Python 2.7+ 和 3.0+
而是这样做,第三个参数实际上是计数(要进行的替换次数)并且re.IGNORECASE
只是一个整数,因此它使用它作为计数。
>>> re.sub(';','.',x, flags=re.IGNORECASE)
'aaaaaaaa.aa.aaa.aaa.aaaaaaaaaa.'
>>> re.IGNORECASE
2