java string 返回匹配正则的字符串的起始位置_小白入门正则表达式(二):python操作正则表达式

本文详细介绍了Python内置的re模块,包括re.match、re.search和re.findall等常用函数的用法。re.match从字符串起始位置匹配,re.search在整个字符串中搜索首次匹配,re.findall则返回所有匹配的列表。通过实例展示了正则表达式在文本处理中的重要作用,强调了其在Python中的重要地位。
摘要由CSDN通过智能技术生成

使用内置模块re,从内置角度可以看出来,正则的重要性。

只有真正常用的模块才会被内置到python中。

常用函数

re.match方法返回一个匹配的对象,否则返回None。

re.search方法返回一个匹配的对象,否则返回None。

re.findall返回一个列表,如果没有找到匹配的,则返回空列表。

可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式:

9233af76139df880f249f8e171fd2ebb.png
fba3595c61f2fee0029bd64b61ef0def.png
952a50c7621686cd2ccc8ca1e3ff1f3a.png

注意:只有是返回对象的时候才可以使用group()

简单说

re.match(正则,内容)

从起始位置开始匹配,起始没有则none。

注意:是从起始开始匹配

import rer='xiaoshibiancheng'get_1=re.match('x.*',r)print('get_1:',get_1)get_2=re.match('i.*',r)print('get_2=',get_2)#结果#get_1: #get_2= None
3d769794d55d77fd5fd4efef3099abfd.png

re.search(要求,内容)

扫描整个字符串,只返回第一个成功的匹配。

import rer='xiao6515shibian5165cheng'get_1=re.search('d+',r)print('get_1=',get_1.group())#结果:#get_1= 6515
5b1fb784c52a8d2df9739de086bc8fbe.png

re.findall(要求,内容)

匹配所有符合要求匹配

这个就比较简单了,有啥返回啥

82abf6a1c81b65772e860b03b0a6cf00.png

re.compile()

编译用的,避免正则表达式重复,赋值给变量,在调用

c29ac179eb507103036f51d468071575.png

在官方的实际设置中往往还会有一些标志位:

re.match/re.search/re.findall(pattern, string, flags=0)

参数描述pattern匹配的正则表达式string要匹配的字符串flags用于控制正则表达式的匹配方式

fffd79e34be22e812d2a4fbc23167f8c.png
e3b4bb25936cbc10ae51753762dd4453.png

检索与替换:

re.sub(pattern, repl, string, count=0, flags=0)

参数:

• pattern : 正则中的模式字符串。

• repl : 替换的字符串,也可为一个函数。

• string : 要被查找替换的原始字符串。

• count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

• flags : 编译时用的匹配模式,数字形式。

实际使用时count与flags用的比较少

通俗的化简为:

re.sub(正则,替换后的东西,需要替换的东西)

8180fe1fdc4075d7abe4a305f1de1f72.png

re.split(pattern, string, maxsplit=0, flags=0)

参数描述pattern匹配的正则表达式string要匹配的字符串。maxsplit分隔次数,maxsplit=1 分隔一次,默认为 0,不限制次数。flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

简单记:

re.sub(正则,要分割的字符串)

de06dc6129cb55aac6c3d019095c8ba3.png

对此文章有任何问题,均可反馈至公众号

我们会第一时间回复

长按关注,编程不迷路哦

50022c2a7ffe32c2c0c0ee24447ac2ae.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值