Skip to main content
 首页 » 编程设计

Python:正则表达式与 find()、strip()

2025年05月04日22xiaohuochai

我正在学习 Python,需要格式化从 IMAP 收到的“发件人”字段。我尝试使用 str.find() 和 str.strip(),还使用了正则表达式。使用 find() 等,我的函数运行速度比使用 re(我计时)快得多。那么,什么时候最好使用 re?有人有与此相关的任何好的链接/文章吗? Python 文档显然没有提到......

请您参考如下方法:

find 只匹配一个精确的字符序列,而正则表达式匹配一个模式。自然只查找精确序列会更快(即使您的正则表达式模式也是精确序列,仍然会涉及一些开销)。

作为上述结果,如果您知道确切的序列,则应使用 find,如果不知道,则应使用正则表达式(或其他东西)。您应该使用的确切方法实际上取决于您面临的问题的复杂性。

作为旁注,python re 模块提供了一个compile 方法,如果您要重复使用正则表达式,它允许您预编译它。如果您多次使用相同的模式,这可以显着提高速度。