首页 > 其他分享 >正则表达式和re模块

正则表达式和re模块

时间:2023-04-10 17:34:18浏览次数:40  
标签:字符 匹配 正则表达式 res re 模块 重复

正则表达式和re模块

一、正则表达式

1、常用元字符

.    匹配除换行符以外的任意字符
\w   匹配字母或数字或下划线
\s   匹配任意的空白符
\d   匹配任意的数字
\n   匹配一个换行符
\t   匹配一个制表符

^    匹配字符串的开始
$    匹配字符串的结尾

\W   匹配非字母或数字或下划线
\D   匹配非数字
\S   匹配非空白符
a|b  匹配匹配字符a或b
()   匹配括号内的表达式,也表示一个组
[]   匹配字符组中的字符
[^]  匹配除了字符组中的所有字符

2、量词

控制前面的元字符出现的次数

*      重复重复重复重复零次或更多次
+      重复重复重复一次或更多次
?     重复重复零次或一次
{n}    重复n次
{n,m}  重复n到m次

3、贪婪匹配和惰性匹配

.*     贪婪匹配(尽可能的匹配更多的结果)
.*?    惰性匹配(只匹配第一个结果)

二、re模块

# 匹配所有符合的结果
res = re.findall(r"目标内容","原始字符串")  # 为防止与转义字符混淆,使用r标记正则表达式

# 生成迭代器
res = re.finditer(r"","")  # res是一个迭代器
for item in res:
    print(item.group())  # item.group()提取数据

# 匹配第一个符合的结果
res = re.search(r"","")
print(res.group())

# 从字符串的开头进行匹配
res = re.match(r"","")

# 预加载正则表达式
obj = re.compile(r"")
# 使用加载好的正则
res = obj.findall(r"","")

# (?P<名字>正则) 为匹配结果取名

# 分组
obj = re.compile(r"<span id='(?P<id>\d+)'>(?P<name>.*?)</span>)  # 只提取出()的匹配结果

标签:字符,匹配,正则表达式,res,re,模块,重复
From: https://www.cnblogs.com/dxmstudy/p/17303632.html

相关文章

  • MFC-FillRect绘制并填充矩形
     HDChdc=::GetDC(m_hWnd);RECTrect={10,10,50,100};HBRUSHhbr;hbr=CreateSolidBrush(RGB(255,0,0));SelectObject(hdc,hbr);intf=FillRect(hdc,&rect,hbr);//绘制并填充矩形/*用指定的画刷填充矩形,此函数包......
  • ScreenSaverNow for Mac(菜单栏防休眠工具) 1.75激活版
    想要一款菜单栏屏幕工具?推荐您使用ScreenSaverNowMac中文版,安装后可自定义的全局热键或鼠标单击立即激活您的屏幕保护程序。当您离开Mac时但仍需要保持工作状态时,ScreenSaverNowforMac将屏幕保护程序与密码一起使用很可能是保护您的信息免受他人侵害的唯一方法。ScreenSaverNow......
  • Express实现定时发送邮件
    在开发中我们有时候需要每隔一段时间发送一次电子邮件,或者在某个特定的时间进行发送邮件,无需手动去操作,基于这样的情况下我们需要用到了定时任务,一般可以写个定时器,来完成相应的需求,在node.js中自已实现也非常容易,接下来要介绍的是node-schedule来完成定时任务用express.js实......
  • .Net Standard-Missing compiler member error Microsoft.CSharp.RuntimeBinder.CShar
     最近在玩dynamic的时候出现无法生成的情况."missingcompilermembererrorMicrosoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create"   解决方案:缺少Nuget包: Microsoft.CSharp ......
  • 【HMS Core】Health Kit关于订阅消息的资讯
    【问题描述】1.数据跨N天同步,怎么去区分每一天的数据,开始时间和结束时间可以区分吗。会出现一天时间内有多段数据的情况出现吗2.华为健康APP自动同步的频率是多少,凌晨0点0分会把前一天的数据上云吗3.假设我可以在APP自动同步的瞬间点击同步,会不会出现数据重复问题4.针对运动数......
  • 【HMS Core】应用内支付FAQ 6-unknownException、订单编号传入
     【关键字】应用内支付、报错 【问题描述1】收到华为的支付回调通知后,通过通知里面的purchaseToken,调用Order服务验证购买Token时报错​【解决方案】1、报错“6-unknownException”有可能是因为请求头里带的认证token有问题,请检查Authorization字段https://developer.hu......
  • xlsxwriter模块实现向Excel表写数据
    xlsxwriter模块实现向Excel表写数据导入第三方库importxlsxwriterasxw写数据#创建工作簿workbook=xw.Workbook(filename)#创建子表worksheet1=workbook.add_worksheet("sheet1")#激活表worksheet1.activate()#设置表头title=['序号','项目','数据&#......
  • react-three-fiber
    npxcreate-react-app.当前目录下面安装className/htmlFor注视{/**/} useState第二个参数:最好使用函数来设置值,因为可能有异步的情况导致值设置不正确getItem('count')??0undefined或者null children是一个数组,可以直接写成prop的形式[...Array(4)]......
  • MFC-Rectangle绘制矩形
     HDChdc=::GetDC(m_hWnd);::MoveToEx(hdc,0,0,NULL);HPENhpen=CreatePen(PS_SOLID,3,RGB(0,0,255));SelectObject(hdc,hpen);BOOLb=Rectangle(hdc,0,0,50,100);//绘制矩形/*该矩形用当前画笔绘制轮廓,用当前画刷填充......
  • xlwt模块实现将数据写入Excel文件
    xlwt模块实现将数据写入Excel文件一、安装xlwt库pipinstallxlwt安装完成后导入importxlwt二、创建excel表格类型文件book=xlwt.Workbook(encoding='utf-8',style_compression=0)调用xlwt模块中的Workbook方法来创建一个excel表格类型文件,其中的第一个参数是设置数......