欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python学习日记(十四) 正则表达式和re模块

程序员文章站 2022-06-14 09:48:04
正则表达式: 它是字符串的一种匹配模式,用来处理字符串,可以极大地减轻处理一些复杂字符串的代码量 字符组:它是在同一位置可能出现的各种字符组成了一个字符组,用[]表示,但是它的结果只能是一个数字或者一个大写字母或小写字母等 下面测试以该网站为例http://tool.chinaz.com/regex ......

正则表达式:

它是字符串的一种匹配模式,用来处理字符串,可以极大地减轻处理一些复杂字符串的代码量

字符组:它是在同一位置可能出现的各种字符组成了一个字符组,用[]表示,但是它的结果只能是一个数字或者一个大写字母或小写字母等

下面测试以该网站为例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.....