文章目录
- 基础匹配
- 元字符匹配
基础匹配
正则表达式,又称规则表达式(Regular Expression),是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式(规则)的文本
简单来说,正则表达式就是使用:字符串定义规则,并通过规则去验证字符串是否匹配。
比如,验证一个字符串是是否符合条件的电子邮箱地址,只需要配置好正则规则,即可匹配任意邮箱。
比如通过正则规则
(^[\w-]+(\.[w-]+)*@[\w-]+(\.[\w-]+)+$)
即可匹配一个字符串是否是标准邮箱格式
python正则表达式,使用re模块,并且基于re模块中三个基础方法来做正则匹配
这三个方法分别是match
、search
、findall
三个基础方法
re.match(匹配规则, 被匹配字符串)
从被匹配字符串开头(如果开头都不匹配那就直接失败)进行匹配,匹配成功返回匹配对象,匹配不成功返回空。
示例:
import re
s = "python itheima"
result = re.match("python", s)
print(result)
元字符匹配
正则表达式的强大之处在于元字符匹配规则
单字符匹配:
字符串前面带上r表示字符串中的转义符无效
数量匹配
边界匹配
分组匹配
import re# 匹配账号,只能由字母和数字组成,长度限制6到10为
r = '^[0-9a-zA-Z]{6,10}$' # {m,n}之间不要有空格,空格会错误
s = "123456"
print(re.findall(r, s))
# 匹配QQ号,要求纯数字,长度5-11,第一位不为0
r = '^[1-9][0-9]{4,10}$'
s = "2428388002"
print(re.findall(r, s))
s = "0123456789"
print(re.findall(r, s))