转自csdn,去这里看更多吧: https://blog.csdn.net/weixin_40136018/article/details/81183504

还有一个废话很多的详细系列,在这里:https://www.cnblogs.com/LoveFishC/p/4218366.html

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1.引入正则模块(Regular Expression)

要使用python3中的RE则必须引入 re模块

import re #引入正则表达式

2.主要使用的方法 match(), 从左到右进行匹配

#pattern 为要校验的规则
#str 为要进行校验的字符串
result = re.match(pattern, str) 
 
#如果result不为None,则group方法则对result进行数据提取
result.group()

3. 正则表达式

    1️⃣单字符匹配规则

字符    功能
.       匹配任意1个字符(除了\n)
[]      匹配[]中列举的字符
\d      匹配数字,也就是0-9
\D      匹配非数字,也就是匹配不是数字的字符
\s      匹配空白符,也就是 空格\tab
\S      匹配非空白符,\s取反
\w      陪陪单词字符, a-z, A-Z, 0-9, _
\W      匹配非单词字符, \w取反

   2️⃣表示数量的规则

字符    功能
*       匹配前一个字符出现0次多次或者无限次,可有可无,可多可少
+       匹配前一个字符出现1次多次或则无限次,直到出现一次
?       匹配前一个字符出现1次或者0次,要么有1次,要么没有
{m}     匹配前一个字符出现m次
{m,}    匹配前一个字符至少出现m次
{m,n}   匹配前一个字符出现m到n次

    例一: 验证手机号码是否符合规则(不考虑边界问题)

#首先清楚手机号的规则
#1.都是数字 2.长度为11 3.第一位是1 4.第二位是35678中的一位

pattern = "1[35678]\d{9}"
phoneStr = "18230092223"

result = re.match(pattern, phoneStr)
result.group()
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄