は、私はこのようなプログラムがあります。Pythonの正規表現re.sub:何か
import re
x='aaaaaaaa;aa;aaa;aaa;aaaaaaaaaa;'
x=re.sub(';','.',x, re.IGNORECASE)
print x
をしかし、出力は次のようなものです:
aaaaaaaa.aa.aaa;aaa;aaaaaaaaaa;
まだ.
、なぜによって置き換えられていないいくつかの;
あります?
は、私はこのようなプログラムがあります。Pythonの正規表現re.sub:何か
import re
x='aaaaaaaa;aa;aaa;aaa;aaaaaaaaaa;'
x=re.sub(';','.',x, re.IGNORECASE)
print x
をしかし、出力は次のようなものです:
aaaaaaaa.aa.aaa;aaa;aaaaaaaaaa;
まだ.
、なぜによって置き換えられていないいくつかの;
あります?
更新のPython 2.6を使用して
- Pythonの2.6で、あなただけのこれを行うことができます:Python用
>>> re.sub('(?i);','.',x)
'aaaaaaaa.aa.aaa.aaa.aaaaaaaaaa.'
2.7以降および3.0+
を代わりにこれを行い、第三パラメータは実際にはカウント(置換の回数)であり、re.IGNORECASE
は単純に整数なので、カウントとして使用します。
>>> re.sub(';','.',x, flags=re.IGNORECASE)
'aaaaaaaa.aa.aaa.aaa.aaaaaaaaaa.'
>>> re.IGNORECASE
2
「;」を置き換えるときに「ignorecase」を使用することは意味をなさないと思われます。 – georg