当前位置: 首页 > news >正文

Python re找到特定pattern并将此pattern重复n次

要找到字符串s中的数字,并将这些数字重复3次:

import re  s = "abc123def456ghi789"  # 找到所有的数字  
numbers = re.findall(r'\d+', s)  # 重复每个数字3次  
repeated_numbers = [num * 3 for num in numbers]  # 将重复的数字放回原位置  
# re.sub() 的第一个参数是要匹配的模式,第二个参数是一个替换函数,第三个参数是要搜索和替换的字符串
# 替换函数是一个匿名函数(lambda函数),它接受一个匹配对象 mo 作为参数(并没有使用到这个匹配对象,只是简单地返回 repeated_numbers 列表的第一个元素,并将其从列表中移除)。
# re.sub() 会对字符串 s 中所有匹配到的模式进行替换,这个过程会依次取出 repeated_numbers 列表中的所有元素,并将它们分别替换到字符串 s 中匹配到的每个数字的位置。
result = re.sub(r'\d+', lambda mo: repeated_numbers.pop(0), s)  print(result)#输出为:abc111222333def444555666ghi777888999

http://www.lryc.cn/news/299536.html

相关文章:

  • ChatGpt报错:We ran into an issue while authenticating you解决办法
  • 如何从 iPhone 恢复已删除的视频:简单有效方法
  • 【python量化交易】qteasy使用教程02 - 获取和管理金融数据
  • 数据库学习案例20240206-ORACLE NEW RAC agent and resource关系汇总。
  • TypeScript 入门
  • linux 磁盘相关操作
  • PyTorch: torch.max()函数详解
  • Rust基础拾遗--核心功能
  • MySQL:常用指令
  • Scrapy:Python中强大的网络爬虫框架
  • linux系统非关系型数据库redis的配置文件
  • 电力负荷预测 | 基于LSTM、TCN的电力负荷预测(Python)
  • Java+SpringBoot实习管理系统探秘
  • c入门第十六篇——学生成绩管理系统
  • 大文件上传如何做断点续传?
  • SpringCloud-Eureka原理分析
  • LeetCode周赛——384
  • C#,巴都万数列(Padonve Number)的算法与源代码
  • NSSCTF Round#18 RE GenshinWishSimulator WP
  • 鸿蒙系统对应安卓版本
  • 算法-16-并查集
  • 【C/C++】2024春晚刘谦春晚魔术步骤模拟+暴力破解
  • Java运算符和表达式
  • 波奇学Linux:软硬链接
  • HTTP网络通信协议基础
  • Java实现河南软件客服系统 JAVA+Vue+SpringBoot+MySQL
  • 【小沐学GIS】基于C++QT绘制三维数字地球Earth(OpenGL)
  • 如何生成生成一个修仙世界的狗血短剧剧本
  • 【MIMO】
  • ZooKeeper分布式锁