表示数量
匹配多个字符的相关格式
字符 | 功能 |
---|---|
* | 匹配前一个字符出现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()
运行结果: