正则表达式的概述
基本介绍
==目标:==了解什么是正则表达式?
正则表达式,也叫做规则表达式,通常会说成【正则】。
实际上,正则表达式就是指符合一定规则的字符串,同时它能用于检查一段文本数据是否与某种模式匹配。
比如,在网站注册新用户时,对用户名、手机号等的验证就使用了正则表达式。
在Python中,有一个专门用于处理正则表达式的模块:
# 导入模块 import re
在正则表达式中,可以使用单个字符或一段字符串来匹配满足正则规则的文本数据。而我们要学习的,就是正则规则。
在一些文本编辑器中,可以使用正则表达式来查找或替换一些文本。
例如,一起来完成:
(1)打开md笔记,查找到文本内容:[黑马程序员];
(2)接着,再把[黑马程序员]替换为:【[黑马程序员]】,并观察效果。
==总结:==
(1)正则表达式就是一段具有特殊含义的字符串,即正则表达式 == 字符串;
(2)注意:在Python中,若要操作正则表达式,要使用()模块。==A、re==;B、regex。
快速使用re模块
==目标:==掌握re模块的快速使用。
我们已经知道,可以使用re模块来操作正则表达式。
re模块常用方法:
函数名 | 含义 |
---|---|
match(pattern, string) | 返回一个已匹配成功的对象。其中,参数pattern表示正则字符串,参数string表示要匹配的内容。 |
当成功匹配数据后,结果存放在对象的函数:
函数名 | 含义 |
---|---|
group(num=0) | 匹配成功的内容,num默认是0,表示匹配的所有数据结果。 |
例如,一起来完成:
(1)使用正则快速验证手机号码是否合格;
(2)验证手机是否合格的条件有:手机号码以1开头且总位数为11位,全部为数字且不包含其他字符;
(3)根据要求,使用re模块完成对手机号码的验证。
import re
# 1.输入手机号码 13789896666
phone = "13789896666"
# phone = "1378989666622323"
# phone = "A3789896666"
# 2.匹配
regex = "[1][0-9]{10}$" # 只匹配11位
matcher = re.match(regex,phone)
# print(matcher)
# *3.判断 --稳定
# if matcher != None:
if matcher is not None:
print("手机号码是合格的!")
# 4.获取结果
result = matcher.group()
print(f"结果:{result}")
else:
print(f"{phone}不是标准格式的手机号码!!")
==总结:==
(1)如果要使用re模块来匹配数据,应该使用re模块的()匹配方法;==A、match()==;B、findall()。
(2)注意:当使用re模块未匹配到对应的数据时,会返回None。