软弃用 re.match()
摘要
Python 3.15 软弃用 re.match() 函数,引入 re.prefixmatch() 作为字符串开头模式匹配的更清晰替代方案。
暂无内容
查看缓存全文
缓存时间: 2026/09/11 18:19
# 软弃用 re.match()
来源:https://simonwillison.net/2026/Sep/11/soft-deprecating-re-match/
2026年9月11日 \- 链接博客
**软弃用 re.match()**(https://hugovk.dev/blog/2026/soft-deprecating-re.match/)(via (https://lobste.rs/s/u7dr96/soft_deprecating_re_match)) Python 有一种"软弃用"(https://peps.python.org/pep-0387/#soft-deprecation)的概念,即标记某些API为"不应用于编写新代码",但不承诺或威胁在未来移除它们。
Python 3.15 版本发布经理 Hugo van Kemenade 描述了在即将到来的 3.15 版本中,久负盛名但极其令人困惑的 `re.match()` 函数如何被软弃用。现在它有了一个更清晰的替代名称 `re.prefixmatch()`——这反映了它仅锚定字符串开头而非结尾的特性。
大多数情况下,你可能需要的是 `re.search()`(在字符串任意位置匹配该模式)或 `re.fullmatch()`(匹配整个字符串)。
相似文章
软弃用 re.match()
这篇博客文章解释了 Python 的 re.match() 函数因其意外行为而被软弃用,并为 Python 3.15 引入了一个更清晰的别名 re.prefixmatch()。
TRE Python绑定 — ReDoS鲁棒性演示
一个极简的Python ctypes绑定到TRE正则表达式库,展示了针对ReDoS攻击的鲁棒性能,处理1000万字符输入上的恶意模式时,速度远超Python的re模块。
@yuntiandeng: 完全同意。用 ProgramAsWeights 替换了正则表达式(而且确实有效):import programasweights as paw fn = pa…
一条推文,赞同 ProgramAsWeights 可以替代正则表达式,并演示了一个从自然语言编译的电子邮件验证函数。
@charliermarsh: PSA:最新版本中带来了新的 `regex!` 宏
在 Rust regex 库的最新更新中发布了一个新的 `regex!` 宏,支持编译时正则表达式编译。
可在‘各处’工作的正则表达式
本文讨论了正则表达式在sed、awk、grep和Emacs等工具之间移植的挑战,并提供了一组在这些环境中可靠工作的正则表达式子集。