python正则表达式
Posted Raymond。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python正则表达式相关的知识,希望对你有一定的参考价值。
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}"后面加上?,使贪婪模式变为非贪婪模式
以上是关于python正则表达式的主要内容,如果未能解决你的问题,请参考以下文章