python之正则match函数和search函数

re.match函数用于检查字符串的起始位置是否匹配某种模式,返回Match对象
格式:re.match(正则表达式,字符串【,标志位】)

import re
a='i love chian'
print(re.match('i',a))              # 字符串a是否以'n'开头,True则返回一个匹配对象
print(re.match('[A-Z]',a))          # 字符串a是否以'A'到'Z'的字母开头,False则返回‘None’
print(re.match('i love',a).span())  # 匹配表达式'i love'的所在位置(0,6),索引0开始6结束
print(re.match('[A-Z]',a,re.I))     # 标志位re.I表示不区分大小写

在这里插入图片描述
Match对象中,函数group()用于获取匹配表达式

import re
a='i love chian'
m=re.match('(.*) .* (.*)',a)  # ()表示对匹配结果进行分组,'.*'表示任意字符
print(m)             # m为匹配对象
print(m.group())     # 默认为0,即匹配表达式(匹配到的结果)
print(m.group(1))    # 组1的匹配对应值
print(m.group(1,2))  # 多个组的匹配对应值放在一个元组里
print(m.groups())    # 所有组的匹配对应值

在这里插入图片描述
re.search函数用于检查整个字符串,返回第一个匹配结果(Match对象),未匹配到返回’None’
格式:re.search(正则表达式,字符串【,标志位】)

import re
a='i love chian , and i live in chian'
print(re.search('[A-Z]hian',a,re.I))
m=re.match('(.*) love (.*) .*',a)  # 匹配模式分为贪婪模式和非贪婪模式
n=re.match('(.*) love (.*?) .*',a) # (.*?),代表非贪婪模式,表示匹配符合条件的最少字符
print(m.groups())
print(n.groups())

在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值