re模块,主要用来查询

##元字符:.^$*+?{}[]|()\在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 匹配任何空白字符,类似于【\t\n\r\f\v】
# \w匹配任何字母数字字符,类似于【a-zA-Z0-9】

# res=re.findall('a|','asdfffsacs')#
print(res)

猜你喜欢

转载自www.cnblogs.com/wfl9310/p/9028839.html