Python3 - 字符串忽略大小写匹配和替换

问题

忽略大小写的方式匹配与替换文本字符串

解决方案

需要忽略大小写时,使用 re 模块提供 re.IGNORECASE 标志参数。比如:

import re

text = 'UPPER PYTHON, lower python, Mixed Python'
print(re.findall('python', text, flags=re.IGNORECASE))
print(re.sub('python', 'PHP', text, flags=re.IGNORECASE))

['PYTHON', 'python', 'Python']
UPPER PHP, lower PHP, Mixed PHP

最后例子揭示了一个小缺陷,替换字符串并不会自动跟被匹配字符串的大小写保持一致。

讨论

对于一般的忽略大小写的匹配操作,简单的传递一个 re.IGNORECASE 标志参数就已经足够了。 需要注意的是,这个对于某些需要大小写转换的Unicode匹配可能还不够。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容