Python 正则表达式 re.sub : something

标签 python regex

我有这样一个程序:

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 中你可以这样做:

>>> 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

关于Python 正则表达式 re.sub : something,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570937/

相关文章:

python - 异常处理程序,用于检查变量的内联脚本是否有效

python - 使用Canny功能时,可以先敷面膜吗?

javascript - 正则表达式更改引用样式

regex - 匹配字符串的正则表达式

regex - 是否可以将REPLACE与LIKE结合起来替换oracle数据库列中的多个值

python - 使用Regex Python提取特殊字符之间的字符

python - 循环年份,同时跳过某些月份

python - 从 django admin 提供图像文件

python - 如何将管道(正则表达式或)应用于特定的模式子字符串,以便它匹配后跟一组字符或 EOL 的组?

python - 选择 id = "in the python list"的名称?