单个字符包括:
01 普通字符也就是说上篇文章的一对一的完全匹配
02 匹配某一范围内的任意字符,本篇讲述的就是匹配任一字符的规则以及简便方法
简介:
[ ]: 中间的任意一个字符
[ a-z ]: a~z之间的任意字符(所有的小写字母)
[a-zA-Z]: 匹配所有的字母,多个连续的片段中间不能有任何多余的字符
[^0-9]:前面加上‘^’字符意为匹配除0-9以外的任意字符,不加‘^表示匹配0-9间的任意字符
. :匹配除'\n'以外的任意字符
\d:数字字符,等价于[0-9]
\D:非数字字符,等价于[^0-9]
\w:匹配字(数字、字母、下划线、汉字,各种语言字)
\W:匹配非字(\w相反的内容)
\s:所有的空白字符(\n、\t、\r、空格)
\S:非空白字符(\s相反的内容)
\b:词边界(开头、结尾、空格、标点等)
\B:非词边界(\b相反的内容)
举例代码:
import re
# 普通字符
# c = re.compile('abc')
# 匹配指定范围内任意字符
# c = re.compile('[sdc]')
# 匹配练习字符
# c = re.compile('[a-z]')
# 多个连续的片段中间不要添加任何多余字符
# c = re.compile('[A-Za-z]')
# 匹配相反的字符(除指定的范围外的字符)
# c = re.compile('[^0-9]')
# 匹配除'\n'字符以外的任意字符
# c = re.compile('.')
# 数字字符,相当于[0-9]
# c = re.compile('\d')
# 除数字以外的任意字符
#c = re.compile('\D')
# 空白字符
# c = re.compile('\s')
# 词边界
c = re.compile(r'\bhello\b')
f = c.findall('helloaj,hellod1as2 hellodla3sj')
print(f)
运行结果: