表示数量
匹配多个字符的相关格式
| 字符 | 功能 | 
|---|---|
| * | 匹配前一个字符出现0次或者无限次,即可有可无 | 
| + | 匹配前一个字符出现1次或者无限次,即至少有1次 | 
| ? | 匹配前一个字符出现1次或者0次,即要么有1次,要么没有 | 
| {m} | 匹配前一个字符出现m次 | 
| {m,} | 匹配前一个字符至少出现m次 | 
| {m,n} | 匹配前一个字符出现从m到n次 | 
示例1:*
需求:匹配出,一个字符串第一个字母为大小字符,后面都是小写字母并且这些小写字母可有可无
#coding=utf-8
import re
ret = re.match("[A-Z][a-z]*","Mm")
ret.group()
ret = re.match("[A-Z][a-z]*","Aabcdef")
ret.group()
运行结果:

示例2:+
需求:匹配出,变量名是否有效
#coding=utf-8
import re
ret = re.match("[a-zA-Z_]+[\w_]*","name1")
ret.group()
ret = re.match("[a-zA-Z_]+[\w_]*","_name")
ret.group()
ret = re.match("[a-zA-Z_]+[\w_]*","2_name")
ret.group()
运行结果:

示例3:?
需求:匹配出,0到99之间的数字
#coding=utf-8
import re
ret = re.match("[1-9]?[0-9]","7")
ret.group()
ret = re.match("[1-9]?[0-9]","33")
ret.group()
ret = re.match("[1-9]?[0-9]","09")
ret.group()
运行结果:

示例4:{m}
需求:匹配出,8到20位的密码,可以是大小写英文字母、数字、下划线
#coding=utf-8
import re
ret = re.match("[a-zA-Z0-9_]{6}","12a3g45678")
ret.group()
ret = re.match("[a-zA-Z0-9_]{8,20}","1ad12f23s34455ff66")
ret.group()
运行结果:
