#参数1是提取到规则,参数2是从哪里提取 import re #.表示匹配某个字符后面到任意一个字符 str1='abcdef' print(re.findall('ab.',str1) ) #没有括号,那么abc都显示 print(re.findall('ab(.)',str1)) #有括号,只显示c 返回值是一个列表 #*表示匹配a后面有若干个b到字符,包括0个的情况 str2='aabbccdde' print(re.findall('ab*',str2)) #+表示a后面有诺干个b,不包括0个的情况 print(re.findall('ab+',str2)) #?表示a后面有0个或1个b,不包括多个 print(re.findall('ab?',str2)) #.*? a(.*?)b 提取a与b之间到字符串 str3='efcgacdbajed' print(re.findall('a(.*?)b',str3)) print(re.findall('a.*?b',str3)) #.*?属于懒惰匹配 print(re.findall('a(.*?)',str3)) #.*属于贪婪匹配 print(re.findall('a(.*)',str3)) #.?匹配一个字符 print(re.findall('a(.?)',str3)) print(re.findall('a(.?)a',str3)) #找不到数据 #\w{n}匹配字母、数字、下划线,n表示匹配连续几位 str5='abc&_09gqy' print(re.findall('\w{2}',str5)) #\W{n}匹配字母、数字、下划线以外的值 print(re.findall('\W',str5)) #\s匹配空字符串,\t制表符、\n换行符 str7='''空 不见人 ''' print(re.findall('\s',str7)) #\S匹配空字符串\t制表符\n换行符 print(re.findall('\S',str7)) #\d匹配数字 str8='abc345edf' print(re.findall('\d{2}',str8)) #D匹配数字以外到值 print(re.findall('\D',str8)) #^匹配开头,$匹配结尾 list1=['abcde','defgc','edsfs'] for one in list1: if re.findall('^abc',one): print(one) if re.findall('abc$',one): print(one) #re.I不区分大小写 str9='aabbCCddEeff' print(re.findall('abc',str9,re.I)) #re.S匹配多行中符合条件到值 a='''hellohtgeraafsfb affdvcfewfjkfjworld''' b=re.findall('hello(.*?)world',a) c=re.findall('hello(.*?)world',a,re.S) print(b) print(c)
python常用正则表达式
最新推荐文章于 2024-08-12 14:30:00 发布