轉自csdn,去這里看更多吧: https://blog.csdn.net/weixin_40136018/article/details/81183504
還有一個廢話很多的詳細系列,在這里:https://www.cnblogs.com/LoveFishC/p/4218366.html
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()
