import re
#*匹配 前一个字符出现0次或者 无限次即可有可无
res=re.match(’[A-Z][a-z]*’,‘Tom’)
print(res.group())
+匹配 前一个字符出现1次或者无限次,即至少有1次
res=re.match(’[a-zA-Z]+’,‘TTom’)
print(res.group())
#匹配符合规范[规则是:不能以数字开头,只能包含字母、数字、下划线]
result=re.match(’[a-zA-Z_]+[\w]*’,‘name’)
print(result.group())
?告诉引擎匹配前导字符 0次或者 一次,事实上表示前导字符 是可以选择的
result=re.match(’[a-zA-Z_][0-9]?’,‘n4a99_me’)
print(result.group())
#{min,max}告诉引擎匹配前导字符min次到max次,min和max必须都是非负整数
#{count}精确匹配
result=re.match(’\d{4}’,‘123456’)
#{min,}max被省略的话表示max没有限制了
result=re.match(’\d{4,}’,‘123456’)
result=re.match(’\d{4,8}’,‘123456789’)
if result:
print(‘匹配到%s’%result.group())
#匹配邮箱的正则
reg=re.match(’[a-zA-Z0-9]{6,11}@qq.com’,‘1934801322@qq.com’)
if reg:
print(‘匹配成功%s’%reg.group())
#\转译
my=‘E:\1yun\2个人笔记’
my=‘E:\1yun\2个人笔记’#使用\转译路径
print(my)
print(re.match(‘c:\a.txt’,‘c:\a.txt’).group())
print(re.match(‘c:\\a.txt’,‘c:\a.txt’).group())
#在正则前面加r表示原生的字符串。python字符串就不转译
print(re.match(r’c:\a.txt’,‘c:\a.txt’).group())
#^匹配字符串的开头
res=re.match(’^P.*’,‘Python is like’)
res=re.match(’^P\w{5}’,‘Python is like’)
if res:
print(res.group())
$ 匹配以什么结尾
res=re.match(’[\w]{5,13}@[\w]{2,3}.com$’,‘1934801322@qq.com’)
if res:
print(res.group())