python re.compile() 详解——Python正则表达式「建议收藏」

python re.compile() 详解——Python正则表达式「建议收藏」1概述当我们在Python中使用正则表达式时,re模块内部会干两件事情:编译正则表达式,如果正则表达式的字符串本身不合法,会报错;用编译后的正则表达式去匹配字符串。那么如果一个正则表达式要重复使用几千次,出于效率的考虑,我们是不是应该先把这个正则先预编译好,接下来重复使用时就不再需要编译这个步骤了,直接匹配,提高我们的效率2compile()预编译十分的简单,re.co…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1 概述

当我们在Python中使用正则表达式时,re模块内部会干两件事情:

  1. 编译正则表达式,如果正则表达式的字符串本身不合法,会报错;

  2. 用编译后的正则表达式去匹配字符串。

那么如果一个正则表达式要重复使用几千次,出于效率的考虑,我们是不是应该先把这个正则先预编译好,接下来重复使用时就不再需要编译这个步骤了,直接匹配,提高我们的效率

2 compile()

预编译十分的简单,re.compile()即可;演示如下:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2019/1/17 15:55
# @Author : Arrow and Bullet
# @FileName: compile.py
# @Software: PyCharm
# @Blog :https://blog.csdn.net/qq_41800366
import re


re_telephone = re.compile(r'^(\d{3})-(\d{3,8})$')  # 编译

A = re_telephone.match('010-12345').groups()  # 使用
print(A)  # 结果 ('010', '12345')
B = re_telephone.match('010-8086').groups()  # 使用
print(B)  # 结果 ('010', '8086')

编译后生成Regular Expression对象,由于该对象自己包含了正则表达式,所以调用对应的方法时不用给出正则字符串。

希望能够帮助到大家,有什么问题可以 直接评论即可,喜欢有用的话可以点个赞让更多的人看到,如果不够详细的话也可以说,我会及时回复的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188580.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月16日 上午9:55
下一篇 2026年4月16日 上午10:01


相关推荐

  • gridbagconstraints什么意思_java rectangle

    gridbagconstraints什么意思_java rectangle说明:GridBagLayout只有一个无参的构造器,要使用它就必须用setConstraints(Componentcomp,GridBagConstraintsconstraints)将它和GridBagConstraints关联起来!当GridBagLayout与无参的GridBagConstraints关联时,此时它就相当于一个GridLayout,只不过,用GridLayout布局的

    2025年10月15日
    5
  • 如何重新安装IIS

    如何重新安装IIS用以下步骤重新安装 IIS 以上操作可以在安全模式中进行 也可以使用 unlocker 软件或 safe mode 软件进行 1 把 IIS 卸载 2 把 windir system32 inetsrv 和 windir SysWOW64 inetsrv 删除 3 把 windir iisX log 删除 X 是 IIS 版本 4 把 inetpub 目录删除

    2026年3月17日
    2
  • eplan激活码破解步骤【2021.7最新】

    (eplan激活码破解步骤)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    1.6K
  • 流程引擎BPM对比[通俗易懂]

    流程引擎BPM对比[通俗易懂]流程引擎就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。通俗的说,流程就是多种业务对象在一起合作完成某件事情的步骤,把步骤变成计算机能理解的形式就是流程引擎。

    2022年10月20日
    4
  • python——初识python(安装pycharm和ipython)

    python——初识python(安装pycharm和ipython)Python之编译安装三部曲编译安装三部曲:configure   编译make    安装makeinstall  安装成包解压压缩包tarzxfPython-3.6.4.tgz-C/opt/安装编译过程需要的依赖性(进入到安装包路径下)cd/opt/cdPython-3.6.4/yuminstallgcc-y安装yum…

    2022年8月26日
    4
  • MySQL常用语句收集

    MySQL常用语句收集

    2021年5月31日
    117

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号