D21_1.1_正则表达式_单个字符匹配

# ### re.findall 找到所有与正则表达式相匹配的字符串

语法:

lst = re.findall(正则表达式,字符串)

# (1) 预定义字符集

# \d 匹配数字

# \D 匹配非数字

# \w 匹配字母或数字或下划线 (正则函数中,支持中文的匹配)

# \W 匹配非字母或数字或下划线

# \s 匹配任意的空白符, 也就是 \n \t \r " "

# \S 匹配任意非空白符

# \n 匹配一个换行符 [最好在正则表达式的前面加上r,让转义字符失效,原型化匹配]

# \t 匹配一个制表符

# (2) 字符组 从小组中默认选一个, 比如[XYZ]就代表从X Y Z中选择一个

print( re.findall("[123]","451627")) #匹配结果[1 , 2]
print(re.findall('a[abc]b','aab abb acb adb')) #  aab abb acb

[0-9]代表从0到9选择一个数,相当于\d匹配数字

[a-z]26个小写字母 a-z

A-G 26个大写字母A-Z

print(re.findall('a[0-9a-zA-Z]b','a-b aab aAb aWb aqba1b')) # aab aAb aWb aqb a1b

[0-z]是按照ASCII编码的序号进行排序的,0-z之间包含了一些特殊字符,不属于字母或数字

不推荐使用

print(re.findall('a[0-9][*#/]b','a1/b a2b a29b a56b a456b')) # a1/b

# ^ 出现在字符组中,代表除了 ,除了+-*/ 这个符号 都要

# 匹配特殊符号 利用\ 让原来有意义的字符失效, 通过转义来实现匹配

# 匹配 \,用 \\ 去匹配

猜你喜欢

转载自www.cnblogs.com/banbosuiyue/p/11827147.html