正则表达式:
它是字符串的一种匹配模式,用来处理字符串,可以极大地减轻处理一些复杂字符串的代码量
字符组:它是在同一位置可能出现的各种字符组成了一个字符组,用[]表示,但是它的结果只能是一个数字或者一个大写字母或小写字母等
下面测试以该网站为例http://tool.chinaz.com/regex/
#正则表达式 匹配字符串 匹配结果 #[0-9] 9 9 [0-9]的写法就相当于在用[0123456789] #[0123456789] 0 0 #[a-z] 1 None 这里只匹配小写字符a-z而不匹配数字 #[a-z] z z #[A-Z] A A 这里只匹配大写字符串 #[A-Z0-5a-c] A6b A、b 这里的数字范围只有到0-5所以没匹配到6
元字符:
1.'.' 匹配出换行符以外的任意字符
#正则表达式 匹配字符串 匹配结果 # . a a # . 1 1 # . & & # . 换行符 None
2.'\w' 匹配字母或下划线或数字--word
等价于[A-Z0-9a-z_]
#正则表达式 匹配字符串 匹配结果 # \w a a # \w 1 1 # \w & None # \w 换行符 None # \w _ _
3.'\s' 匹配任意的空白符--space
匹配字符串如果什么都不写也会匹配到一个结果,这里的空白符有空格、tab键、回车等空白字符
4.'\d' 匹配任意的数字--digit
等价于[0-9]
#正则表达式 匹配字符串 匹配结果 # \d a None # \d 1 1 # \d & None
5.'\W' 匹配非字母或数字下划线
和'\w'的结果相反,且空白字符也可以匹配,如果用[\w\W]就相当于全局匹配的效果;等价于[^A-Z0-9a-z_]
6.'\D' 匹配非字符
和'\d'的结果相反,且空白字符也可以匹配;等价于[^0-9]
7.'\S' 匹配非空白字符
和'\s'的结果相反,除了空白字符串其他都匹配
8.'\n' 匹配一个换行符
9.'\t' 匹配一个制表符(tab)
10.'\b' 匹配一个单词的结尾
#正则表达式 匹配字符串 匹配结果 # .\b abx x 匹配一个字符并返回它的末尾字符 # b\b abb b 匹配一个字符串如果它的结尾是b就返回 # b\b aaa None
11.'\f' 匹配一个换页符
12.'\r' 匹配一个回车符
13.'\v' 匹配一个垂直制表符
14.'\B' 匹配一个非单词边界
#正则表达式 匹配字符串 匹配结果 # v\B vers v # ve\B vers ve # s\B vers None
15.'\num' 匹配一个正整数
#正则表达式 匹配字符串 匹配结果 # (.)\1 1122 11、22 匹配连续相邻的两个字符
16.'^' 匹配字符串开始
相当于startswith()
#正则表达式 匹配字符串 匹配结果 # ^[A-Z] A456A A
17.'$' 匹配字符串结束
相当于endswith()
#正则表达式 匹配字符串 匹配结果 # [A-Z]$ ASD D
18.....