常用方法

re.match

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none

  1. re.match(pattern, string, flags=0)
  2. # pattern 匹配的正则表达式
  3. # string 要匹配的字符串
  4. #flags 标志位。如:是否区分大小写、多行匹配等

如果匹配成功,则返回匹配对象,可以使用group()函数来访问

  1. group(num=0) # 组号
  2. groups() # 返回所有小组

例子

  1. import re
  2. print(re.match('www', 'www.runoob.com').group(0)) # 在起始位置匹配
  3. >> "www"
  4. print(re.match('com', 'www.runoob.com')) # 不在起始位置匹配
  5. >> None

re.search

re.search 扫描整个字符串并返回第一个成功的匹配。

  1. re.search(pattern,string,flags=0)

例子

  1. import re
  2. print(re.search('www', 'www.runoob.com').group(0)) # 在起始位置匹配
  3. >> "www"
  4. print(re.search('com', 'www.runoob.com').group(0)) # 不在起始位置匹配
  5. >> "com"

re.sub

re.sub用于替换字符串中的匹配项。

  1. re.sub(pattern, repl, string, count=0, flags=0)
  2. repl : 替换的字符串,可以是一个函数
  3. string : 要被查找替换的原始字符串

例子:

  1. phone="20004-959-599"
  2. num=re.sub(r"\D","",phone) #删除非数字
  3. print(num)
  4. >>2004959559

re.compile()

compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。

re.split()

split 方法按照能够匹配的子串将字符串分割后返回列表,它的使用形式如下

可选标志位

  1. re.I # 大小写不敏感
  2. re.M # 多行匹配

参考

https://www.runoob.com/python/python-reg-expressions.html