python正则表达式

1. 前言

1.1 概念

  • 正则表达式,Regular Expression
  • 正则表达式使用单个字符串来描述、匹配(系列匹配)某一个句法规则的字符串中

1.2 作用:

  • 检索,替换那些匹配某个模式的文本
  • 对字符串格式进行校验,比如网页的注册表单,使用正则表达式会非常方便;比如输入的QQ号,输入的E-mail地址和手机号等。

2.案例–判断手机号

  • 不用正则代码
    在这里插入图片描述
    上述可以用正则表达式,一句话搞定,后续讲解。
  • 正则表达式书写
    在这里插入图片描述

3. 正则表达式规则

3.0 原始字符串与转义字符

  • python中字符串前面加上r表示该字符串为原生字符串
  • 正则表达式使用"“表示转义字符;因此,若在待匹配的字符串中含有”",需要在待匹配的字符串中,在"\“前面加”\“表示对"“的转义;然而,在正则表达式中需要四个”":前两个表示表示对待匹配字符串中的第一个”\“做转义,后两个表示对待匹配字符串中的第二个”\“做转义。
  • 为了防止出错,建议正则表达式中使用原生字符串。
    例如下面的正则匹配式子:
re.match("c:\\\\", "c:\\a\\b\\c")

上述结果会输出c:\
采用原生字符串:

re.match(r"c:\\", "c:\\a\\b\\c")

3.1 表示字符

3.1.1 规则

在这里插入图片描述

3.1.2 实例

在这里插入图片描述

3.2 表示数量

3.2.1 规则

在4.1中的字符后面加上数量即可以匹配大量字符串
在这里插入图片描述

3.2.2 实例

在这里插入图片描述

3.3 表示边界

3.3.1 规则

在这里插入图片描述
\b表示空格等

3.3.2 实例

在这里插入图片描述

3.4 匹配分组

分组:用笑小括号括上叫做分组。

3.4.1 规则

在这里插入图片描述
|表示或

3.4.2 案例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. python中的正则

4.1 re模块

正则表示模块。

4.2 re使用

4.2.1 导包

import re

4.3 常用方法

4.3.1 match()方法

用来进行正则匹配检查
若匹配正则,返回匹配对象
若不匹配正则,返回None(非空字符串"")

re.match(正则表达式,要匹配的字符串)

4.3.2 search()方法

搜索符合特征的字符串

ret = re.rearch(r"\d+", "阅读次数为9999")
ret.group()

4.3.3 findall

找出所有符合特征的字符串,返回列表

ret = re.findall(r"\d+", "python = 9999, c = 7800, c++ = 12334")

4.3.4 sub

将匹配到的数据进行替换,返回字符串

ret = re.sub(r"\d+", "998", "python = 923")

4.3.5 split

根据匹配进行切割字符串,并返回一个列表

ret = re.split(r":| ", "info:xiaozhang 33 shandong")

4.4 python的贪婪模式和非贪婪模式

  • python中正则表达式数量词默认是贪婪的,,总是尝试尽可能多的匹配
  • 非贪婪模式即尽可能少的去匹配。
  • 在"*", “?”, “+”, "{m, n}"后面加上?,使贪婪模式变为非贪婪模式
    在这里插入图片描述
  • 39
    点赞
  • 272
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值