转自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()