數量——匹配多個字符的相關格式ide
* 匹配前一個字符出現0次或者無限次,便可有可無spa
示例一:3d
#coding=utf-8 #需求:匹配一個字符串第一個字母爲大小字符,後面都是小寫字母而且這些小寫字母無關緊要 import re ret = re.match("[A-Z][a-z]*","Mm").group() print ret Mm ret = re.match("[A-Z][a-z]*","Aabcdef").group() print ret Aabcdef
+ 匹配前一個字符出現1次或者無限次,即至少有1次code
示例二:blog
#coding=utf-8 #需求:匹配變量名是否有效 import re ret = re.match("[a-zA-Z_]+[\w_]*","name1").group() print ret 結果:name1 ret = re.match("[a-zA-Z_]+[\w_]*","_name").group() print ret 結果:_name ret = re.match("[a-zA-Z_]+[\w_]*","2_name").group() print ret 結果:Traceback (most recent call last): File "/usercode/file.py", line 4, in <module> ret = re.match("[a-zA-Z_]+[\w_]*","2_name").group() AttributeError: 'NoneType' object has no attribute 'group'
? 匹配前一個字符出現1次或者0次,即要麼有1次,要麼沒有utf-8
示例三:字符串
# -*- coding: utf-8 -*- #需求:匹配0到99之間的數字 import re ret = re.match("[1-9]?[0-9]","7").group() print ret 結果:7 ret = re.match("[1-9]?[0-9]","33").group() print ret 結果:33
{m} 匹配前一個字符出現m次event
示例四:ast
#coding=utf-8 #需求匹配8到20位的密碼,能夠是大小寫英文字母、數字、下劃線 import re ret = re.match("[a-zA-Z0-9_]{6}","12a3g45678").group() print ret 結果:12a3g4 ret = re.match("[a-zA-Z0-9_]{8,20}","1ad12f23s34455ff66") ret.group() 結果:1ad12f23s34455ff66