轉自csdn,去這裏看更多吧: http://www.javashuo.com/article/p-bfcmxltl-u.htmlhtml
還有一個廢話不少的詳細系列,在這裏:http://www.javashuo.com/article/p-cjtekeco-mg.htmlpython
要使用python3中的RE則必須引入 re模塊正則表達式
import re #引入正則表達式express
#pattern 爲要校驗的規則 #str 爲要進行校驗的字符串 result = re.match(pattern, str) #若是result不爲None,則group方法則對result進行數據提取 result.group()
1️⃣單字符匹配規則.net
字符 功能 . 匹配任意1個字符(除了\n) [] 匹配[]中列舉的字符 \d 匹配數字,也就是0-9 \D 匹配非數字,也就是匹配不是數字的字符 \s 匹配空白符,也就是 空格\tab \S 匹配非空白符,\s取反 \w 陪陪單詞字符, a-z, A-Z, 0-9, _ \W 匹配非單詞字符, \w取反
2️⃣表示數量的規則code
字符 功能 * 匹配前一個字符出現0次屢次或者無限次,無關緊要,可多可少 + 匹配前一個字符出現1次屢次或則無限次,直到出現一次 ? 匹配前一個字符出現1次或者0次,要麼有1次,要麼沒有 {m} 匹配前一個字符出現m次 {m,} 匹配前一個字符至少出現m次 {m,n} 匹配前一個字符出現m到n次
例一: 驗證手機號碼是否符合規則(不考慮邊界問題)htm
#首先清楚手機號的規則 #1.都是數字 2.長度爲11 3.第一位是1 4.第二位是35678中的一位 pattern = "1[35678]\d{9}" phoneStr = "18230092223" result = re.match(pattern, phoneStr) result.group()