python3正则表达式简单使用、search()、match()等函数的区别

原生字符串

  • raw string:转义字符’\’不解释为转义字符

re包的几个主要的函数

  • re.search(pattern, string, flags=0)
    • 返回匹配的match对象
    • flags:正则表达式使用时的标记
    • re.I->IGNORECASE 忽略正则的大小写、[a-Z]可匹配所有字母
    • re.M->MUTILINE 表达式中的^能够将给定字符串的每行作为匹配开始
    • re.S->DOTALL .可以匹配除换行符以外的字符、若使用re.S则可以匹配换行符
  • re.match()
    • 返回匹配的match对象
    • 默认从给定字符串的开头开始匹配、即使正则表达式没有用^声明匹配开头
  • re.findall()
    • 以列表(可迭代变量)形式返回所有匹配到的子串
  • re.split(pattern, string, maxsplit, flags=0)
    • 将匹配到的子串删掉、以列表的形式返回剩下的子串
  • re.finditer()
    • 以可迭代变量形式返回匹配的match对象
  • re.sub(pattern, repl, string, count=0, flags=0)
    • 用repl替换所有匹配到的子串、并返回替换后的字符串、count表示最大替换次数

Match对象

  • Match对象的几个属性:
    • .string 待匹配的文本
    • .re 匹配使用的pattern对象
    • .pos 正则表达式搜索文本的开始位置
    • .endpos 正则表达式搜索文本的结束位置
  • Match对象的几个方法:
    • group(0) 返回匹配到的子串
    • start() 返回匹配子串的开始位置
    • end() 返回匹配子串的结束位置
    • span() 返回start()、end()

贪婪匹配与最小匹配

  • 贪婪匹配
    • re库默认返回匹配到的最长子串
  • 最小匹配
    • 只需要对正则的几个操作符做一些扩展就可以使用最小匹配
    • *? 前一个0次或无限次匹配、并且最小匹配
    • +? 前一个1次或无限次、并且最小匹配
    • ?? 前一个字符0次或1次匹配、并且最小匹配
    • {m,n}? 扩展前一个字符m至n次、最小匹配
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值