python - 为什么 Python 中同时存在 sre 和 re 模块?

标签 python regex

我一直认为,当我看到人们提到 sre 模块时,这是一个拼写错误,他们实际上是指 re

今天,我不小心在解释器中输入了 import sre ,我很惊讶它能正常工作。我决定通过 help(sre) 深入了解 sre 模块是什么,并且...它所做的一切都与 re 完全相同

为什么这两个模块都存在?哪个先来?为什么要创建第二个?是否有一个被弃用和/或删除(它已经在 Python 3 中消失了吗?我在这台计算机上没有 Python 3 解释器可以检查。)

最佳答案

是的,它已被弃用。当你执行 help(sre) 时,你一定看到了这一行:

DESCRIPTION
    This file is only retained for backwards compatibility.
    It will be removed in the future.  sre was moved to re in version 2.5.

因此它用于为 Python <2.5 设计的代码,但现在被 re 取代。

此外,它已被删除:

# Python 3
>>> import sre
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'sre'

关于python - 为什么 Python 中同时存在 sre 和 re 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32576273/

相关文章:

python - 将图 "caracteristics"从一个类复制到另一个类

java - 使用 android vision 文本 OCR 构建名片阅读器

regex - 从示例算法创建正则表达式

python - 在 UDF 的 withColumn 之后,运行 count() 给出 TypeError : 'NoneType' object is not subscriptable

python - 获取 WKT 多边形的中心

python - C++ 包括 python.h 和 boost/python.hpp 导致 SEH 异常

jQuery 验证 - 正则表达式

python - 使用带有引号字符串列表的正则表达式

python - Pandas 以负前瞻作为分隔符读取 csv

python - 根据条件更改值列