我的编程空间,编程开发者的网络收藏夹
学习永远不晚

24. Python 正则

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

24. Python  正则

1.常用正则表达式

python的正则网站:

https://regex101.com/

1d206179ad936f3c261624762d109658.png

注释:分组

(?P<name>…)省略的部分就是正常的正则匹配,我们把匹配到的这个整体给赋一个变量名字name,在后续调用的时候,就方便多了



2.re模块

re模块是python中处理正则表达式的一个模块,通过re模块的方法,把正则表达式pattern编译成正则对象,以便使用正则对象的方法。

那为什么要使用re模块来把正则表达式搞成正则对象呢,最主要的是可以提高代码的执行效率,我们来看个例子:

import timeit
print timeit.timeit(setup='''import re; reg = re.compile('<(?P<tagname>\w*)>.*</(?P=tagname)>')''', stmt='''reg.match('<h1>xxx</h1>')''', number=1000000)
print timeit.timeit(setup='''import re''', stmt='''re.match('<(?P<tagname>\w*)>.*</(?P=tagname)>', '<h1>xxx</h1>')''', number=1000000)

结果:

0.504413156462

1.20703154234

解释:timeit.timeit是用来统计程序执行的时间的,和明显第一个print的执行时间要比第二个的执行时间快好多,这个就是把正则表达是表示成正则对象最明显的好处。


正则匹配总写一个r是什么意思?

r表示raw的简及raw string 意思是原生字符,也就是说是这个字符串中间的特殊字符不用转义

比如你要表示‘\n’,可以这样:r'\n'

但是如果你不用原生字符 而是用字符串你得这样:‘\\n’


3.编译正则对象

re.compile(pattern[, flags])

这个方法是就是将字符串的正则表达式编译城正则对象,第二个参数flag是匹配模式,取值可以使用按位或者运算符“|”表示同时生效,比如:re.I | re.M,flag的可选值有:

re.I(re.IGNORECASE): 忽略大小写(括号内是完整写法,下同)

M(MULTILINE): 多行模式,改变'^'和'$'的行为

S(DOTALL): 点任意匹配模式,改变'.'的行为

L(LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定

U(UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性

X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。


以下两个正则表达式是等价的:

import re
a = re.compile(r"""\d +  # the integral part
                   \.    # the decimal point
                   \d *  # some fractional digits""", re.X)
import re
b = re.compile(r"\d+\.\d*")


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

24. Python 正则

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

24. Python 正则

1.常用正则表达式python的正则网站:https://regex101.com/注释:分组(?P…)省略的部分就是正常的正则匹配,我们把匹配到的这个整体给赋一个变量名字name,在后续调用的时候,就方便多了2.re模块re模
2023-01-31

Python七大原则,24种设计模式

七大原则,24种设计模式七大设计原则: 1、单一职责原则【SINGLE RESPONSIBILITY PRINCIPLE】:一个类负责一项职责. 2、里氏替换原则【LISKOV SUBSTITUTION PRINCIPLE】:继承与派生的规
2023-01-31

25. Python 正则(2)

1. re的matche方法和search方法match 方法match(string[, pos[, endpos]])string:匹配使用的文本,pos: 文本中正则表达式开始搜索的索引。及开始搜索string的下标endpos: 文
2023-01-31

Python中的正则

regex_lst = [  ('字符组',),  ('非打印字符',),  ('特殊字符',),  ('定位符',),  ('限定符',),  ('re模块',),  ('分组命名',),  ('或匹配',),  ('贪婪匹配与惰性匹配'
2023-01-30

PYthon之正则 re

re模块是python中处理正在表达式的一个模块正则表达式知识储备:http://www.cnblogs.com/huamingao/p/6031411.html     正则表达式使用反斜杠" \ "来代表特殊形式或用作转义字符,这里跟P
2023-01-31

python 正则表达式

正则表达式的作用:用来匹配字符串 一、字符串方法字符串提供的方法是完全匹配,不能进行模糊匹配s = 'hello world'# 字符串提供的方法是完全匹配,不能进行模糊匹配print(s.find('ll')) # 2 查找ll的位
2023-01-30

python正则表达式

笔记:一:简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 主要介绍Python中常用的正则表达式处理函数 提高工作效率,完成内置函数无法完成的任务! 搜索常用正则表达式!--
2023-01-30

python手机号正则

手机号正则:((13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8})     ---移动,联通全段
2023-01-31

Python的正则规则举例分析

这篇文章主要讲解了“Python的正则规则举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的正则规则举例分析”吧!问题复现我们都知道,Python有个正则规则\w,几乎所有
2023-06-02

Python 正则表达式:split

作用:用正则表达式的字符分割字符串,正则的字符会被抛弃。本文以 提取URL的地址与参数 为例,介绍re模块的split的用法: 返回值 -> 列表复杂匹配 = re.compile(正则表达式): 将正则表达式实例化            
2023-01-31

Python 正则表达式:compile

本文以匹配×××ID为例,介绍re模块的compile与match的用法复杂匹配 = re.compile(正则表达式): 将正则表达式实例化             +        re.match(要匹配的字符串): 从字符串开 头/
2023-01-31

python 正则匹配的re.sear

一个简单的使用re.search 匹配一个字符串中的关键字[root@localhost ~]# vim ceshi.py#!/usr/bin/env python#coding:utf-8import reerr=("stderr: 'P
2023-01-31

python re库-----学习(正则

#!/usr/bin/env python#-*- coding:UTF-8 -*-###################################################### Author: sunfx   xingrhc
2023-01-31

python爬虫学习三:python正则

python爬虫学习三:python正则表达式自己写的一个爬虫:https://github.com/qester/wordpres_Crawler1、正则表达式基础a、正则表达式的大致匹配过程:1、依次拿出表达式和文本中的字符比较2、如果
2023-01-31

Python 正则表达式:search

本文介绍re模块的search的用法复杂匹配 = re.compile(正则表达式): 将正则表达式实例化             +        re.search(要匹配的字符串): 从字符串开头 开始匹配简单匹配 = re.sear
2023-01-31

在python正则表达式中是怎样正确使用正则表达式

这篇文章将为大家详细讲解有关在python正则表达式中是怎样正确使用正则表达式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。现在我们已经看了一些简单的正则表达式,那么我们实际在 Python
2023-06-17

Python中的正则表达式

正则表达式 是包含文本和特殊字符的字符串, 为高级的文本模式匹配, 抽取, 与文本形式的搜索和替换功能提供了基础Python通过标准库re模块来支持正则表达式模式匹配的两种方法完成匹配(模式匹配)搜索(search())匹配(match()
2023-01-31

Python中使用正则表达式及正则表达式匹配规则详解

这篇文章主要介绍了Python中使用正则表达式以及正则表达式匹配规则,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-22

Python正则re.compile实例分析

今天小编给大家分享一下Python正则re.compile实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、re.c
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录