1、正则简介
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
Python 自1.5版本起增加了==re== 模块,它提供 Perl 风格的正则表达式模式,可使用==import re==导入==re==模块。
2、方法
正则表达式常见模式
特殊字符
正则表达式修饰符 - 可选标志
2.1、match()
re.match 尝试从字符串的==起始位置==匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
函数语法
re.match(pattern, string, flags=0)
参数 | 描述 |
---|---|
pattern | 匹配的正则表达式 |
string | 要匹配的字符串。 |
flags | 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。 |
==’.’ :匹配任意一个字符(除了\n)==
==/d:匹配一个数字==
==/D:匹配一个非数字==
==/s:匹配空白==
==\d+:匹配多个数字==
2.2、search()
re.search ==扫描整个字符串==并返回第一个成功的匹配。
函数语法
re.search(pattern, string, flags=0)
参数 | 描述 |
---|---|
pattern | 匹配的正则表达式 |
string | 要匹配的字符串。 |
flags | 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。 |
成功匹配一次就返回,不会继续匹配
==re.match与re.search的区别==
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
2.3、检索和替换
re 模块提供了re.sub用于替换字符串中的匹配项。
语法
re.sub(pattern, repl, string, count=0, flags=0)
参数:
- pattern : 正则中的模式字符串。
- repl : 替换的字符串,也可为一个函数。
- string : 要被查找替换的原始字符串。
- count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
将text中的5替换成777
2.4、compile()
compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
语法格式
re.compile(pattern[, flags])
参数
- pattern : 一个字符串形式的正则表达式
- flags,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
2.5、findall()
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
==注意==: match 和 search 是匹配一次 findall 匹配所有。
语法格式
findall(string[, pos[, endpos]])
参数
- string : 待匹配的字符串。
- pos : 可选参数,指定字符串的起始位置,默认为 0。
- endpos : 可选参数,指定字符串的结束位置,默认为字符串的长度。
2.6、split()
split 方法按照能够匹配的子串将字符串分割后返回列表
语法格式
re.split(pattern, string[, maxsplit=0, flags=0])
参数 | 描述 |
---|---|
pattern | 匹配的正则表达式 |
string | 要匹配的字符串。 |
maxsplit | 分隔次数,maxsplit=1 分隔一次,默认为 0,不限制次数。 |
flags | 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。 |
2.7、正则表达式修饰符 - 可选标志
正则表达式可以包含一些可选标志修饰符来控制匹配的模式。
博主会持续更新,有兴趣的小伙伴可以点赞、关注和收藏下哦,你们的支持就是我创作最大的动力!
process=image/format,png#pic_center)