Python 正则就一个模块:re(内置,无需安装)。

核心流程:“编译 → 匹配 → 提取/替换”3 步曲,下面用会计小例子带你速通。

一、最常用的 6 个函数(先背再拆)

函数 作用 返回
re.search(pat, txt) 找第一次出现 Match 对象 / None
re.findall(pat, txt) 找所有出现 list 字符串
re.sub(pat, repl, txt) 替换 新字符串
re.split(pat, txt) 切分 list
re.match(pat, txt) 只从开头匹配 Match / None
re.compile(pat) 预编译,提速复用 Pattern 对象

二、快速上手 4 例(会计场景)

三、必会元字符(13 个元字符一张表背完)

符号 意义 记忆
. 任意字符除换行 dot
\d 数字 [0-9] digit
\D 非数字 大写=反义
\w 字母数字下划线 word
\s 空白字符 space
^ 开头 上箭头
$ 结尾 美元尾
* 0 或多次 星花
+ 1 或多次 加号
? 0 或 1 次 问号
{n,m} 出现 n 到 m 次 区间
[] 字符集 自定义
() 分组捕获 提取

四、分组与命名分组(提取神器)

五、预编译提速(批量跑表时必用)

一次编译多次使用,10 万行以上明显快。

六、贪婪 / 非贪婪

默认 .* 会吞到最远匹配,加 ? 变非贪婪:

七、常用 flag

组合:

八、pandas 里的正则捷径

一句话总结

背会 re.sub / re.findall / re.search + 元字符表,就能解决 90% 文本清洗任务;大文件记得 re.compile 先编译,再交给 pandas 的 .str 方法批量跑。