1、正则表达式的概述
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串的有无某子串,或者做子串匹配替换,取出子串等操作。也可以说正则表达式就是字符串的匹配规则,也可以理解为是一种模糊匹配,匹配满足正则条件的字符串。
2、正则表达式的功能
1、数据验证(eg:表单验证)
2、数据检索(eg:网络爬虫数据抓取)
3、数据隐藏(手机号隐藏)
4、数据过滤(eg: 敏感词汇过滤)
3、Python 中的re模块三步走
# 第一步 导入re模块
import re
#第二步使用方法进行匹配操作 这里用的 match()方法
result = re.match(pattern正则表达式,string要匹配的字符串,flags = 0)
"""
match() 方法: 专门用于匹配以某些字符或字符串开头的内容(只能匹配开头)
findall() 方法: 可以匹配任意位置
serach() 方法 : 函数用于扫描整个字符串,并返回第一个成功的匹配
"""
#如果匹配成功,使用 group方法来提取数据
result.group() #没有返回内容,则返回 None
eg:匹配字符 7
import re
str = "1254697318"
result = re.findall("8",str)
print(result)
4、正则编写三部曲
1、查什么
代码 | 功能 |
. (英文的点号) |
匹配任意一个字符( 除 \n 之外) |
[ ] (字符簇) |
匹配 [ ] 中的任意某个字符 |
[^ ]文章来源:https://www.toymoban.com/news/detail-553621.html ( ^ 托字节)文章来源地址https://www.toymoban.com/news/detail-553621.html |
匹配除了指定字符以外的所有字符,即取反的意思 |
\d | 匹配数字 0-9 |
匹配非数字 | |
\s | 匹配空白(例如 空格 、table键等) |
\S | 匹配非空白 |
\w | 匹配非特殊字符(eg: a-z、A-Z、0-9、_、汉字) |
\W | 匹配特殊字符 |
2、查多少
代码 | 功能 | ||
* | 匹配前⼀个字符出现0次或者⽆限次,即可有可⽆ (0 到 多) | ||
+ | 匹配
|
||
? | 匹配前⼀个字符出现1次或者0次,即要么有1次,要么没有 (0 或 1) | ||
{m} | 匹配前⼀个字符出现m次 | ||
{m,} | 匹配一个字符至少出现 m 次 (m 到 无限次) | ||
{m,n} | 匹配前⼀个字符出现从m到n次 (m 到 n 次) |
3、从哪查
代码 | 功能 |
^ | 匹配以某个字符串开头 |
$ | 匹配以某个字符串结尾 |
4、小栗子 — 匹配手机号
import re
mobile = "12345678964"
result = re.match("^1[3456789]\d{9}$",mobile)
if result :
print("手机号合理")
else :
print("手机号不合法,请重新输入!!!")
到了这里,关于Python正则表达式之学习正则表达式三步曲的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!