Python自带正则表达式模块,即re模块。

导入正则模块:

import re

用dir()函数查看re模块内的属性和方法:

dir(re)

python 怎么写正则 python正则教程_正则表达式

 

python 怎么写正则 python正则教程_正则表达式_02

python 怎么写正则 python正则教程_python_03

python 怎么写正则 python正则教程_python 怎么写正则_04

 

 

python 怎么写正则 python正则教程_正则表达式_05

 

使用'|'符号连接不同的正则表达式模式:

如:

  

python 怎么写正则 python正则教程_python 怎么写正则_06

匹配任意单字符: '.'

  

python 怎么写正则 python正则教程_python 怎么写正则_07

  若要匹配'.'本身则要通过反斜杆转义'\.'

匹配开头、结尾、边界:

  开头:^ 或者 \A

  结尾:$ 或者 \Z

  

python 怎么写正则 python正则教程_字符串_08

  边界:\b(开头) \B(中部)

  

python 怎么写正则 python正则教程_bc_09

  

python 怎么写正则 python正则教程_正则表达式_10

用中括号匹配范围:

  [abcd]: 包含abcd里面的一个字母

  

python 怎么写正则 python正则教程_python 怎么写正则_11

^用在中括号内表示非:

  

python 怎么写正则 python正则教程_正则表达式_12

其他符号(*, +, {}, ?):

  *: 重复0次到多次左边的字符

  +:

 

正则表达式模式构建注意问题:

  当直接使用字符串构建时,字符串会自动转义,如构建一个以字符串'the'开头的单次的模式:

p = '\bthe'

  实际上变为了:

p = '\x08the'

  故模式匹配时必定出错

  

python 怎么写正则 python正则教程_python 怎么写正则_13

  故为避免出现这个问题,需要使用raw string,即在字符串前加上r:

p = r'\bthe'

  

python 怎么写正则 python正则教程_python_14