正则表达式

本文介绍了Python中的正则表达式及其re模块的基本用法,包括正则表达式的各种模式、re.match和re.sub的使用,以及re.compile和findall函数在匹配和查找中的应用。
摘要由CSDN通过智能技术生成

python正则表达式

​ 是一个特殊字符序列,帮助检查一个字符串是否匹配你的要求;字母和数字也可以当作一个表达式

​ 郑子表达式要配合着re模块使用,re模块是内置模块

1. 正则表达式模式

​ ^ 匹配的是字符串的开头,使用方式:^world;

​ $匹配的是字符串的结尾,使用方式:world$;

​ ^world$,即匹配字符串world;

​ .匹配的是除了换行符符之外的任意字符;

​ […]用来匹配一组字符,例如[a,b,c]可以匹配abc中的任意一个;

​ […]用来匹配不在[]中的字符;表示非的意思;

​ *匹配0/多个表达式,与其他符号一起使用,如.*值得就是匹配0个任意字符或者多个任意字符;

​ +和*类似,匹配1个/多个表达式;

​ {整数}表示匹配n次表达式,如:x{2}表示匹配两次x;

​ {n,m}表示匹配n~m次表达式;

​ a|b匹配a或者b字符;

​ \w匹配字母数字及下划线;

​ \W(大写)匹配字母数字及下划线之外的字符;

​ (表达式)对表达式进行分组,即将表达式分隔开;

​ \s匹配任意空字符;

​ \S匹配任意非空字符;

​ \d匹配任意数字如:[0-9];

​ \D匹配任意非数字;

​ \A匹配字符串的开始;

2.re模块的使用

python中使用正则表达式
1.re.match(正则表达式,匹配字符).span()查询匹配到的字符串的索引

​ 注意只能用来匹配字符串的开头,如果不是其起始位置返回none

print(re.match('www','www.baidu.com').span())

结果显示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.re.match(正则表达式,匹配字符).span()则是用来搜索直到匹配位置,没找到报错

3.re.sub(re,repl,string,count)用来替换字符串中的匹配项

​ re:正则匹配的模式,repl:被替换成什么字符,string:被替换的字符串,count:模式匹配后替换的最大次数,默认0表示所有;

phone = '123-456-789#123456789'
num=re.sub('#.*$', 'x', phone)
s=re.sub('\D','123',phone)

4.re.compile()

​ 用来生成正则表达式对象,供match和search之类的函数使用就不需要写第一个参数了;之后还可以指定从哪个位置开始索引

p=re.complie('\d+')
p.match('xxx11',3,10)#一段范围内进行检索

5.findall()找到所有的匹配并返回一个列表

​ 使用多个模式匹配,返回的是列表,元素是元组

x = re.findall('\d+', phone)
print(x)
s = re.findall('(\w)=(\d+)', '123=123 and 456=456')
print(s)

d+‘, phone)
print(x)
s = re.findall(’(\w)=(\d+)', ‘123=123 and 456=456’)
print(s)


  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值