re模块基本用法和字符集

时间:2023-03-09 07:59:24
re模块基本用法和字符集
import re
# . 能够替代任意字符
r= re.findall("a..c","abbcsd")
print(r)
# ^ 找最前面的
r_1 = re.findall("^a.c","abc dsds asc d adc")
print(r_1)
# $找最后面的
r_2 = re.findall("a.c$","abc dsds asc d adc")
print(r_2)
# *匹配0~无穷
r_3 = re.findall("ab*","abbbbbbbccccacc")
print(r_3)
# +匹配1~无穷
r_4 = re.findall("ab+","abbbbbbbccccacc")
print(r_4)
# ?值匹配0个或者1个
r_5 = re.findall("ab?","abbbbbbbccccacc")
print(r_5)
# {}值匹配自定义个,优先取最多的
r_5 = re.findall("ab{2,3}","abbbbbbbccccacc")
print(r_5)
# 前面的*,+,?等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成惰性匹配,按最少次数匹配(0次)
r_6 = re.findall('abc*?','"abbbbbbbccccacc"')
print(r_6)
import re
# 字符集[] # 在字符集中括号[]中匹配其中一个
re_1 = re.findall("a[asd]c","adc gg aacdd")
print(re_1)
# [A-Z] [a-z] [0-9] 能匹配其中的任意 一个 字符
re_2 = re.findall("[a-z]","adc gg aacdd")
print(re_2)
# 若想匹配全部字符需要加*或者+
re_3 = re.findall("[a-z]*","adc2323 g42634g aa2cdd")
re_4 = re.findall("[0-9]+","adc2323 g42634g aa2cdd")
print(re_3,re_4)
# ^在字符集中为非的意思
re_5 = re.findall("g[^a-z]*","adc2323 g42634g aa2cdd")
print(re_5)