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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win10共享打印错误0x0000006_win10共享打印机出现错误代码0X0000000d怎么办 打印机无法打印的解决步骤…[通俗易懂]

    win10共享打印错误0x0000006_win10共享打印机出现错误代码0X0000000d怎么办 打印机无法打印的解决步骤…[通俗易懂]win10系统查找打印机提示错误代码0x0000000d怎么办?此问题解决非常简单,只要“添加打印机”即可,下面有详细的安装步骤,一起看看吧!错误代码0x0000000d的解决方法步骤1、点击win10系统的开始/控制面板/打印机;win10系统查找打印机提示错误0x0000000d的解决方法2、选择“添加打印机”;3、选择“添加本地打印机”,按一下步;4、选择“创建新端口”/选择“local…

    2022年5月14日
    146
  • savefiledialog用法_空白文档的默认文件名

    savefiledialog用法_空白文档的默认文件名把xml文档转换为excel文档,希望保存时默认的文件名是xml文档的同名.xlsx。

    2022年10月8日
    1
  • 默认颜色及其对照表[通俗易懂]

    默认颜色及其对照表[通俗易懂]一、cesium默认颜色及其对照表Cesium.Color.ALICEBLUE<fontcolor=#f0f8ffsize=5></font>Cesium.Color.ANTIQUEWHITE<fontcolor=#faebd7size=5></font>Cesium.Color.AQUA<fontcolor=#00ffffsize=5></font>Cesium.Color.AQUAMAR.

    2022年5月16日
    53
  • 惊艳四射的意思_词语什么四射

    惊艳四射的意思_词语什么四射分享一些CSS3相关的按钮和导航,大部分素材应该都来自一些老外的设计,希望接下来的几篇文章对你会有所帮助,当然你的支持和点评也是我坚持做下去的动力。正文今天的这款CSS3按钮应该说是非常的光彩夺目,因为不仅它的色彩调得非常的和谐,更美妙的是如果你用chrome或者safari浏览器还能看到按钮发光的特效。以下是效果截图在线示例    |    源码下载这里的发光效果主要是如

    2025年6月28日
    1
  • springboot 启动的时候加载外部配置文件_java读取外部配置文件

    springboot 启动的时候加载外部配置文件_java读取外部配置文件springboot启动读取外部配置文件  有时候项目打包成一个jar或者war,通过java-jar命令运行springboot项目,因为springboot项目有自己的application.properties配置文件,但是我们打完包之后,它也会打到包里边,倒是也能打开压缩包修改properties文件,但是也是较为麻烦。  现在有如下需求,比如客户需要在很多个服务器…

    2025年9月7日
    5
  • 图片爬虫

    图片爬虫参考视频学习,堆糖网图片爬虫"""1.URL2.模拟浏览器请求资源3.解析网页4.保存数据到本地"""importrequests#第三方库importurllib.parseimportjsonimportjsonpathurl=’https://www.duitang.com/napi/blog/list/by_search/?kw={}&amp;s…

    2022年6月17日
    30

发表回复

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

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