Python re.purge() 方法

Python re 模块 Python re 模块


re.purge() 是 Python re 模块中用于清除正则表达式缓存的函数。

Python 的 re 模块会缓存已编译的正则表达式对象以提高性能,re.purge() 可以清除这个缓存。

单词释义purge 是清除、 Purge 的意思。


基本语法与参数

语法格式

re.purge()

参数说明

  • 无参数

函数说明

  • 返回值: 无返回值。
  • 作用: 清除 re 模块内部缓存的所有已编译正则表达式。

实例

示例 1:基本用法

实例

import re

# 先使用一些正则表达式
re.search(r'\d+', '123')
re.match(r'\w+', 'hello')

# 清除缓存
re.purge()

print("缓存已清除")

运行结果预期:

缓存已清除

示例 2:查看缓存效果

实例

import re

# 使用相同的模式多次 - 会使用缓存
for _ in range(3):
    re.search(r'\d+', '123')

# 清除缓存
re.purge()

print("缓存已清除,之后重新创建缓存")
re.search(r'\d+', '456')

运行结果预期:

缓存已清除,之后重新创建缓存

示例 3:内存释放

实例

import re
import sys

# 创建大量不同的正则表达式(会占用缓存)
patterns = [re.compile(r'\d+' + str(i)) for i in range(100)]

print(f"创建了 {len(patterns)} 个正则表达式")

# 清除缓存
re.purge()

print("缓存已释放")

运行结果预期:

创建了 100 个正则表达式
缓存已释放

使用场景说明

  • 当需要释放内存时使用
  • 当正则表达式修改后需要重新加载时使用
  • 在长时间运行的程序中定期清理缓存

Python re 模块 Python re 模块