我有一个这样的程序:
import re
x='aaaaaaaa;aa;aaa;aaa;aaaaaaaaaa;'
x=re.sub(';','.',x, re.IGNORECASE)
print x
Run Code Online (Sandbox Code Playgroud)
但输出是这样的:
aaaaaaaa.aa.aaa;aaa;aaaaaaaaaa;
Run Code Online (Sandbox Code Playgroud)
还有一些;没有被一个替换.,为什么?
使用Python 2.6
更新 - 在Python 2.6中,您可以这样做:
>>> re.sub('(?i);','.',x)
'aaaaaaaa.aa.aaa.aaa.aaaaaaaaaa.'
Run Code Online (Sandbox Code Playgroud)
适用于Python 2.7+和3.0+
换句话说,第三个参数实际上是count(要替换的数量),re.IGNORECASE并且只是一个整数,因此它将其用作计数.
>>> re.sub(';','.',x, flags=re.IGNORECASE)
'aaaaaaaa.aa.aaa.aaa.aaaaaaaaaa.'
>>> re.IGNORECASE
2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4613 次 |
| 最近记录: |