#############################常见正则表达式和特殊符号(元字符)########################### import re 1、直接使用字符串中的值进行匹配 str1="87alalsdkj34878273\nalkjsldkjfalsdjalksd2klajlfkasjlkdf" print(re.match("al",str1)) #从 字符匹配串开头就匹配al如果匹配到就不再匹配后面的值如果开头不包含al则搜索不到 print(re.search("al",str1)) #搜索整个字符串,匹配到一个则不再匹配后面的值 print(re.findall("al",str1)) #搜索整个字符串,返回所有匹配结果 2、re1|re2 匹配正则表达式r1或者r2 print(re.match("al|82",str1)) print(re.search("al|82",str1)) print(re.findall("al|82",str1)) 3、"."匹配除了“\n”之外的任意字符 print(re.match(".*",str1)) print(re.search(".*",str1)) print(re.findall('.*',str1)) 4、"^" "$" ^匹配以什么开头,$匹配以什么结尾 print(re.search("^87",str1)) print(re.search("kdf$",str1)) 5、 "*" 匹配0次或者多次前面出现的正则表达式 print(re.findall("al*",str1)) #等价于al|a #结果:['al', 'al', 'al', 'al', 'al', 'a', 'a'] 6、 “+”匹配前面出现的正则表达式一次或者多次 print(re.findall("al+",str1)) #等价于“al” #结果['al', 'al', 'al', 'al', 'al'], 7、“?”匹配0次或者一次前面出现的正则表达式 print(re.findall("al?",str1)) #结果:['al', 'al', 'al', 'al', 'al', 'a', 'a'] 8、{n}匹配前出现的正则表达式n次 print(re.findall("[0-9]{2}",str1)) 9、{n,m}匹配前卖弄的正则表达式n到m次 print(re.findall("[0-9]{2,3}",str1)) #两者都满满足时,值去最大的匹配 10、【。。。】匹配来自字符集的任意单一字符 print(re.findall("[87al]",str1)) 11、【x-y】匹配x到y范围内的任意字符 prnt(re.findall("[a-z]a",str1)) 12、[^字符集] 不匹配此字符集出现的任何字符 print(re.findall("[^a76]",str1)) #除去a,7,6 之外的所有单一字符
python3正则表达式
最新推荐文章于 2022-11-27 19:47:31 发布