Skip to content

正则-函数

  • 正则表达式操作的包为import re

match

  • 语法:re.match(pattern, string)
  • 只从字符串的开头开始匹配模式,如果匹配成功,返回一个匹配对象,否则返回 None
python
import re

pattern = '12'
string = '123456456'
match_obj = re.match(pattern, string)
print(match_obj)  # <re.Match object; span=(0, 2), match='12'>

pattern = '34'
string = '123456456'
match_obj = re.match(pattern, string)
print(match_obj)  # None
  • 语法:re.search(pattern, string)
  • 搜索整个字符串,返回第一个匹配的对象,否则返回 None
python
import re

pattern = '56'
string = '123456456'
match_obj = re.search(pattern, string)
print(match_obj)  # <re.Match object; span=(4, 6), match='56'>

pattern = '58'
string = '123456456'
match_obj = re.search(pattern, string)
print(match_obj)  # None

findall

  • 语法:re.findall(pattern, string)
  • 搜索整个字符串,返回所有匹配的对象,否则返回 None
python
import re

pattern = '56'
string = '123456456'
match_obj = re.findall(pattern, string)
print(match_obj)  # ['56', '56']

sub

  • 语法:re.sub(pattern, repl, string)
  • 搜索整个字符串,将所有匹配的对象替换为指定的字符串,否则返回 None
python
import re

pattern = '56'
string = '123456456'
match_obj = re.sub(pattern, '88', string)
print(match_obj)  # 123488488

split

  • 语法:re.split(pattern, string)
  • 搜索整个字符串,将所有匹配的对象作为分隔符,将字符串分割为一个列表,否则返回 None
python
import re

pattern = '56'
string = '123456456'
match_obj = re.split(pattern, string)
print(match_obj)  # ['1234', '4', '']