##元字符:.^$*+?{}[]|()在re中最重要的就是元字符与findall配合使用 # re模块(就是正则表示式模块)主要功能就是做匹配 #正则表达式(re)是一种小型的高度专业化的编程语言, #例子:12345665、4563111、4565778、可以通过123.。。6+*正则匹配 import re #元字符:.^$*+?{}[]|() res=re.findall('d+','asdw45qwfgg115d2')#d+匹配数字、#找出这串字符串中的数字 res=re.findall('asd','asdfzgdfd')#匹配是否有asd res=re.findall('a.s','afsfgwwasfs')# .一个点匹配到afs2个点匹配到asfs# .叫通配符 res=re.findall('^a..g','asfggh')# ^只能加在以其开头,此处就是以a开头 res=re.findall('w.r$','asgdgwer')# $只能匹配。。r结尾的字符 #关于重复的元字符*+?{} res=re.findall('dsf*','afsdsddddfgsa')#匹配出d,*代表0-无穷次,什么都没有也叫匹配到了 # 匹配结果['', '', '', 'd', '', 'dddd', '', '', '', '', ''] res=re.findall('di+','asddfggddddgw')# + 匹配d 1到无穷次,i其中没有那么就匹配不到无结果输出 res=re.findall('dda?','asdfgedd') res=re.findall('a{6}','asfswfafaaaaaaa')#{6}表示重复6次的a res=re.findall('a{0,2}','asfswfafaaaaaaa')#0-2次 res=re.findall('x[yz]','xyzxzysdfa')#【】表示或者的意思['xy', 'xz'] res=re.findall('x[^yz]','x123xyzxzysdfaxb')#['x1']加一个上三角表示非, #加一个(表示就是普通的括号了 res=re.findall('([^()]*)','2+(3*2-2*(2-1))')#['(2-1)']找最里层的括号计算 #反斜杠后边跟元字符去除特殊功能,如. #反斜杠后边跟普通字符实现特殊功能,如d # d 匹配任何10进制,类似于【0-9】 # s 匹配任何空白字符,类似于【 fv】 # w匹配任何字母数字字符,类似于【a-zA-Z0-9】 # res=re.findall('a|','asdfffsacs')# print(res)