正则表达式

推荐教程

正则表达式30分钟入门教程

Python正则表达式指南

Python专题教程:正则表达式re模块详解

匹配的方法

import re

# 检测以模式串作为开头的源字符串
m = re.match(pattern, str) # m.group()可拿到匹配结果

# 在源字符串内寻找首次匹配
m = re.search(pattern, str) # m.group()可拿到匹配结果

# 在源字符串内寻找所有匹配
m = re.findall(pattern, str) # 返回一个由结果组成的list

# 将源字符串按照匹配切分
m = re.split(pattern, str) # 返回一个由结果组成的list

# 将源字符串内匹配的模式使用目标替换
m = re.sub(pattern, replace, str) # 返回替换之后的新的字符串

模式标识符

对于模式中转义字符串的处理

Python字符串会使用一些特殊的转义符,例如 \b 在字符串中代表退格,而在正则表达式中则代表一个单词的开头位置。因此可以在模式串的前面添加 r 来禁止字符串转义

匹配的输出

使用matchsearch时,所有的匹配会以m.group()的形式返回。如果用括号将某一模式包裹起来,则每个被包裹的匹配结果都会返回.group(),且整体以元组形式返回,调用.groups()则可获取。

import re
source = 'Have a dish of fish tonight'
m = re.search(r'(. dish\b).*(\bfish)', source)
m.group() # 'a dish of fish'
m.groups() # ('a dish', 'fish')

results matching ""

    No results matching ""