正则表达式笔记

正则表达式检测网站regex101: build, test, and debug regex

复制代码
#encoding=utf-8
import re

content="苹果是绿色的橙子是橙色的香蕉是黄色的乌鸦是黑色的"
p=re.compile(r'.色')
for one in p.findall(content):
    print(one)

"."匹配任意字符(一个)

"*"匹配任意个字符包括0个和任意个

复制代码
#encoding=utf-8
import re

content=("苹果是,绿色的\n"
         "橙子是,橙色的\n"
         "香蕉是,黄色的\n"
         "乌鸦是,黑色的\n")
p=re.compile(r',.*')
for one in p.findall(content):
    print(one)

"+"匹配至少1词

"{6}"重复6次

\d:任意数字

\D:非数字

\s:空字符,如[\t\n\r\f\v]

\S:非空字符[^\t\n\r\f\v]

\w:任意文字字符=[a-zA-Z0-9_]

\W:非文字字符=[^a-zA-Z0-9_]

12\]匹配1或2 \[\^\]表示非 \^表示匹配文本的起始位置 单行模式:表示匹配整个文本的开头位置 多行模式:表示匹配文本每行的开头位置 #encoding=utf-8 import re content="""001-苹果价格-60, 002-橙子价格-70, 003-香蕉价格-80, """ import re p=re.compile(r'^\d+') print(p.findall(content)) ![](https://i-blog.csdnimg.cn/direct/5f7c9f9aa0704e15ad4e307e802cea9e.png) 多行模式:表示匹配文本每行的开头位置 ```python #encoding=utf-8 import re content="""001-苹果价格-60, 002-橙子价格-70, 003-香蕉价格-80, """ import re p=re.compile(r'^\d+',re.MULTILINE) print(p.findall(content)) ``` ![](https://i-blog.csdnimg.cn/direct/ce67ae891a7e49d2a788c7f33e98b8dc.png) "$"表示文本的结束位置 如果是单行模式,表示这个文本的结束位置 如果是多行模式,表示文本每行的结束位置 ```python #encoding=utf-8 import re content="""001-苹果价格-60, 002-橙子价格-70, 003-香蕉价格-80,""" import re p=re.compile(r'\d+,$',re.MULTILINE) print(p.findall(content)) ``` ![](https://i-blog.csdnimg.cn/direct/f73539768ca34cf0b211434cad94d210.png) "?"取消贪婪模式 匹配模式替换: #encoding=utf-8 import re content="""001-苹果价格-60, 002-橙子价格-70, 003-香蕉价格-80,""" import re names="关羽;张飞,赵云, 马超,黄忠, 李逵" p=re.split(r'[;,\s]\s*',names) print(p) names='''点击这里,这边看视屏 点击这里,这边看视屏 点击这里,这边看视屏 ''' #替换函数,参数对象是match def subfun(match): #Match对象的group(0)返回的是整个匹配上的字符串 src=match.group(0) #March对象的group(1)返回的是第一个group分组的内容 number=int(match.group(1))+6 dest=(f'/av{number}/') print(f'{src}替换为{dest}') return dest newStr=re.sub(r'/av(\d+?)/',subfun,names) print(newStr) ![](https://i-blog.csdnimg.cn/direct/cc48db83e7d34c44beb36ad8ef799bd9.png)

相关推荐
黎宇幻生2 小时前
Java全栈学习笔记39
java·笔记·学习
MANONGMN5 小时前
Linux 通配符与正则表达式(含实战案例+避坑指南)
linux·运维·正则表达式
遇印记5 小时前
大二java学习笔记:二维数组
java·笔记·学习
带土15 小时前
18 .shell编程-正则表达式
linux·正则表达式
bnsarocket7 小时前
Verilog和FPGA的自学笔记6——计数器(D触发器同步+异步方案)
笔记·fpga开发·verilog·自学·硬件编程
LK_078 小时前
【Open3D】Ch.3:顶点法向量估计 | Python
开发语言·笔记·python
li星野8 小时前
打工人日报#20251011
笔记·程序人生·fpga开发·学习方法
摇滚侠8 小时前
Spring Boot 3零基础教程,yml配置文件,笔记13
spring boot·redis·笔记
QT 小鲜肉8 小时前
【个人成长笔记】在Ubuntu中的Linux系统安装 anaconda 及其相关终端命令行
linux·笔记·深度学习·学习·ubuntu·学习方法
QT 小鲜肉8 小时前
【个人成长笔记】在Ubuntu中的Linux系统安装实验室WIFI驱动安装(Driver for Linux RTL8188GU)
linux·笔记·学习·ubuntu·学习方法