import re print(re.findall("ab","dabdabf")) #普通字符和自身匹配 #--------------------------------------------------------------------- #元字符 #. 表示一个字母 print(re.findall("ab.","dabcdabvabt")) #只能匹配连接ab加后面的一位 print(re.findall(".","dabcdabvabt")) #当只有一个点时就是可以匹配所有的字符串内容 print(re.findall(".b","dabcdabvabt")) #只能匹配连接加前面的一位 print(re.findall("b...b","dabcdabvabt")) #每个.表示任意一个字母,有两个b中间三个字母的都能匹配 #--------------------------------------------------------------------- #^ 表示只能匹配开头,后面的不匹配 print(re.findall("^ab","abfdsfab")) #只能匹配开头的 print(re.findall("^a.f","abfdsfab")) #匹配开头a.f print(re.findall("ab^","abfdsfab")) #不能匹配,^只能放在最前面 #--------------------------------------------------------------------- #$只能匹配结尾,前面的不匹配 print(re.findall("ab$","abfdsfab")) #只能匹配最后面一个 print(re.findall("$ab","abfdsfab")) #不能匹配,$只能放最后 print(re.findall("ab.$","abfdsfab")) #匹配不到,因为后面还有一个.还差一个字母 print(re.findall("ab.$","abfdsfabf")) #能匹配到 print(re.findall("^ab.$","abfdsfabt")) #元字符^和$不能一起用,一个是最前面匹配,一个是最后匹配 #--------------------------------------------------------------------- # + 表示贪婪匹配[1,+00],可以匹配+前面的连续相同的字母 print(re.findall("a+","dfagdfgfd")) #只能匹配所有连一起的a print(re.findall("a.+","dfammmmmm")) # 对.有无穷大的匹配 print(re.findall("afb+","abfdbdafbbbbfdbafbds")) #匹配所有afb和afb+ print(re.findall("^afb+","afbbbbbfdbdafbbbbafbbb")) #匹配最前面的 print(re.findall("afb+$","afbbbbbfdbdafbbbbafbbb")) #匹配最后面的 #--------------------------------------------------------------------- # * 贪婪匹配[0,+00] 可以匹配*前面的所有,也能单个匹配所有 print(re.findall("ab*","fababbbfdfabfgabvghfbga")) #能匹配所有a和ab,以及ab连续b的匹配,不能单独匹配b print(re.findall("ab*","fggabaa")) #能匹配所有a和所有b print(re.findall("^ab*","abbbdffdabbbbbbbb")) #只能匹配最前面的 print(re.findall("ab*$","abbbdffdabbbbbbbb")) #只能匹配最后面的 print(re.findall("a.b*","gafbbbfdsfabbbanbgghahhacdb")) #能匹配所有的a.b,和a.但是不能单独匹配b
原文:https://www.cnblogs.com/TKOPython/p/11973435.html