[关闭]
@songying 2019-11-25T15:35:13.000000Z 字数 1201 阅读 1106

re - python正则表达式库

python库


正则表达式与python语言

  1. import re
方法 解释
re.compile(string[,flag])
re.match(pattern, string[, flags])
re.search(pattern, string[, flags])
re.split(pattern, string[, maxsplit])
re.findall(pattern, string[, flags])
re.finditer(pattern, string[, flags])
re.sub(pattern, repl, string[, count])
re.subn(pattern, repl, string[, count])

re.compile()

将一个正则表达式转化成一个正则表达对象,该对象可被用在 match(), search()以及其他函数中。

1. re.match()函数

  • 从字符串的起始位置进行匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
  • 返回值: 成功:一个匹配的对象 失败: None
  1. re.match(pattern, string, flags=0)
  2. # pattern: 匹配的正则表达式
  3. # string: 要匹配的字符串。
  4. # flags: 标志位,用于控制正则表达式的匹配方式

2. re.search()方法

  • re.search 扫描整个字符串并返回第一个成功的匹配。
  • 返回值: 成功: 一个匹配的对象 失败: None
  1. re.search(pattern, string, flags=0)
  2. # pattern: 匹配的正则表达式
  3. # string: 要匹配的字符串。
  4. # flags: 标志位,用于控制正则表达式的匹配方式

同样,获取的对象也可以使用group()与groups()方法。

3. re.match 与 re.search的区别

re.sub

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

  1. re.sub(pattern, repl, string, count=0)
  2. # pattern: 正则中的模式字符串
  3. # repl : 替换的字符串,也可为一个函数。
  4. # string : 要被查找替换的原始字符串。
  5. # count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
  1. num = re.sub(r'\D', "change", source_string)
  2. def double(matched):
  3. #statement
  4. print(re.sub('(?P<value>\d+)', double, string))
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注