python re.sub 替换不完全

简介: python re.sub 替换不完全

原因:

在处理 sub 的时候,把 re.I 和 re.S 的值进行相加并作为 count 参数的值来进行处理

sub(pattern, repl, string, re.I|re.S)

转换成了

sub(pattern, repl, string, count=xx)

因此才会出现只有部分字符串替换了的情况。

如何解决上面的问题,其实很简单,把代码写成如下即可:

sub(pattern, repl, string, flags = re.I|re.S)

也就是显式声明 re.I 和 re.S 是 flags 参数的值,不是 count 参数的值。

目录
相关文章
|
Python
Python基础——re表达式中re.sub()的用法
Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。
166 0
|
Python
Python:正则re.sub实现简易的模板引擎
Python:正则re.sub实现简易的模板引擎
|
SQL PHP 数据库
Python:正则re.sub实现SQL命名占位符替换
Python:正则re.sub实现SQL命名占位符替换
236 0
|
17天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
19 1
|
4天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
18 5
|
6天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
|
7天前
|
测试技术 Python
Python模块化方式编程实践
Python模块化编程提升代码质量,包括:定义专注单一任务的模块;使用`import`导入模块;封装函数和类,明确命名便于重用;避免全局变量降低耦合;使用文档字符串增强可读性;为每个模块写单元测试确保正确性;重用模块作为库;定期维护更新以适应Python新版本。遵循这些实践,可提高代码可读性、重用性和可维护性。
31 2
|
13天前
|
测试技术 调度 索引
python编程中常见的问题
【4月更文挑战第23天】
32 2
|
13天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver