7.正则表达式(以re包为例)

一.匹配函数

  • re.match(匹配字符段,str)
    表示在str中从头开始匹配字符段,并将匹配结果返回
  • re.search(匹配字符段,str)
    表示在str中遍历所匹配的字符段,一旦找到了一个,即停止遍历,并将匹配结果返回
  • re.findall(匹配字符段,str)
    表示在str中遍历所匹配的字符段,找到了一个还会继续找下一个,直到所有字符段都被找到为止
    在这里插入图片描述

二.正则预定义

注意带\的在正则表达式中要在前面加一个\进行一次转义才能使用,如 \\s
其对应的大写形式代表非空格,非数字…

  • \s:表示空格
  • \b:表示边界
  • \d:表示数字
  • \w:表示字母数字_

在这里插入图片描述

三.定义匹配次数

  • *:表示前面的字符匹配次数 >=0 次
  • +:表示前面的字符匹配次数 >=1次
  • ?:表示前面的字符匹配次数要不为 0 要不为 1
  • {m}:表示前面的字符匹配次数为m次
  • {m,}:表示前面的字符匹配次数大于等于m次
  • {m,n}:表示前面的字符匹配次数为[m,n]次
  • ^:表示从头开始匹配
  • $:表示匹配到字符结尾
    在这里插入图片描述

四.关系

  • . :表示任意字符
  • [ ]:表示这一个字符匹配对应的字符范围
  • |:或者
  • ( ):表示分组。后面会通过group(序号)来获取对应的组
    在这里插入图片描述

五.贪婪模式和非贪婪模式

Python里数量词进行字符匹配时默认是贪婪的,总是尝试匹配尽可能多的字符。
非贪婪模式则刚好相反,总是尝试匹配尽可能少的字符。
*,?,+,{m,n},{m,}中加上 ?,就可以把贪婪模式变成非贪婪模式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值