广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python标准库 - re
  • 118
分享到

Python标准库 - re

标准Python 2023-01-31 01:01:18 118人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

编写代码时, 经常要匹配特定字符串, 或某个模式的字符串, 一般会借助字符串函数, 或正则表达式完成.对于正则表达式, 有些字符具有特殊含义, 需使用反斜杠字符'\'转义, 使其表示本身含义. 如想匹配字符'\', 却要写成'\\\\',

编写代码时, 经常要匹配特定字符串, 或某个模式的字符串, 一般会借助字符串函数, 或正则表达式完成.


对于正则表达式, 有些字符具有特殊含义, 需使用反斜杠字符'\'转义, 使其表示本身含义. 如想匹配字符'\', 却要写成'\\\\', 很是困扰. python中Raw string解决了该问题, 只需给'\'加上前缀'r'即可, 如r'\n', 表示'\'和'n'两个普通字符, 而不是原来的换行. 前缀'r'类似于sed命令的-r(use extended regular expressions)参数.  


正则表达式可包括两部分, 一是正常字符, 表本身含义; 二是特殊字符, 表一类正常字符, 或字符数量...


re模块提供了诸多方法进行正则匹配.

match    Match a regular expression pattern to the beginning of a string.

search   Search a string for the presence of a pattern.

sub      Substitute occurrences of a pattern found in a string.

subn     Same as sub, but also return the number of substitutions made.

split    Split a string by the occurrences of a pattern.

findall  Find all occurrences of a pattern in a string.

finditer Return an iterator yielding a match object for each match.

purge    Clear the regular expression cache.

escape   Backslash all non-alphanumerics in a string.


还有compile函数, 其较特殊, 将匹配模式编译为一个正则表达式对象(RegexObject, _sre.SRE_Pattern), 并返回, 该对象仍然可以使用上述这些函数. 这也从侧面说明了, 对于re模块, 有非编译和编译两种使用方式, 如下所示.

1.

result = re.match(pattern, string)


2.

prog = re.compile(pattern)

result = prog.match(string)


它们达到的效果是相同的, 只是后者暂存了正则表达式对象, 对于某块代码中频繁使用该正则表达式的情形, 后者性能一般会高于前者.



对于match()和search()匹配成功, 会返回一个匹配对象(Match Object, _sre.SRE_Match), 其也有若干方法, 下面几个较常用.

group 

    group([group1, ...]) -> str or tuple.

    Return subgroup(s) of the match by indices or names.

    For 0 returns the entire match.


groups(...)

    groups([default=None]) -> tuple.

    Return a tuple containing all the subgroups of the match, from 1.

    The default argument is used for groups

    that did not participate in the match


end(...)

    end([group=0]) -> int.

    Return index of the end of the substring matched by group.


start(...)

    start([group=0]) -> int.

    Return index of the start of the substring matched by group.


            

至此对re模块框架性梳理就这样了, 给出些例子, 对上面的内容总结下.

1.

In [23]: text = "He was carefully disguised but captured quickly by police."


In [24]: re.findall(r"\w+ly", text)

Out[24]: ['carefully', 'quickly']


2.

In [25]: m = re.match(r"(\w+) (\w+)", "Isaac Newton, physicist")


In [26]: m.group(0)

Out[26]: 'Isaac Newton'


In [27]: m.group(1)

Out[27]: 'Isaac'


In [28]: m.group(2)

Out[28]: 'Newton'


In [29]: m.group(1, 2)

Out[29]: ('Isaac', 'Newton')


3.

In [31]: account = "abcxyz_"


In [32]: replace_regex = re.compile(r'_$')


In [33]: replace_regex.sub(account[0], account)

Out[33]: 'abcxyza'



正则表达式使用中的细节还有很多, 这里无法尽数, 实践过程中慢慢体会和总结吧.


--结束END--

本文标题: Python标准库 - re

本文链接: https://www.lsjlt.com/news/183991.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Python标准库 - re
    编写代码时, 经常要匹配特定字符串, 或某个模式的字符串, 一般会借助字符串函数, 或正则表达式完成.对于正则表达式, 有些字符具有特殊含义, 需使用反斜杠字符'\'转义, 使其表示本身含义. 如想匹配字符'\', 却要写成'\\\\', ...
    99+
    2023-01-31
    标准 Python
  • Python标准库re的使用举例(正则化匹配)
    目录常用正则表达式一,必备知识1.修饰符(flag)2.匹配模式3. r的作用4. 贪婪与非贪婪—通配符后面加?5.转义匹配的使用6. group(num = 0)和gr...
    99+
    2022-11-11
    re python 用法 python re模块详解 python re库
  • python标准库
    Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的。它是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。 我将根据我个人的使...
    99+
    2023-01-31
    标准 python
  • python标准库--functools
    官方相关地址:https://docs.python.org/3.6/library/functools.html   一.简单介绍:        functools模块用于高阶函数:作用于或返回其他函数的函数。一般而言,任何可调用对象...
    99+
    2023-01-30
    标准 python functools
  • python之标准库
    Python的标准安装包括一组模块,称为标准库。10.1 模块>>>emport math>>>math.sin(0)0.010.1.1 模块是程序任何python程序都可以作为模块导入。#hello.p...
    99+
    2023-01-31
    标准 python
  • Python标准库 - logging
    编写代码时, 常要跟踪下其运行过程, 记录日志是常用的方式. 较简单的就是print命令打印到终端, 或通过open函数写入文件. 但随着代码量的增加, 该方式不可控的弊端, 也凸显出来, 这也正是logging模块出现的背景.对于logg...
    99+
    2023-01-31
    标准 Python logging
  • Python标准库 - subproce
    编写Python脚本时, 经常要执行Linux操作系统命令, 如mkdir zzzz. 目前比较推荐的方法是使用subprocess模块.通过该模块的帮助文档, 可看到其主要提供了4个API, 和相应的使用说明.Main API======...
    99+
    2023-01-31
    标准 Python subproce
  • python常用标准库
    -------------------系统内建函数-------------------1、字符串str='这是一个字符串数据测试数据'对应str[0]:获取str字符串中下标为0的字符。str[3]:获取str字符串中下标为3的字符。st...
    99+
    2023-01-31
    常用 标准 python
  • Python标准库大全
    以下是Python标准库大全 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 stringprep:互联网字符串准备工具 ...
    99+
    2023-10-26
    python 开发语言
  • python 标准库简介
    操作系统接口 os 模块提供了许多与操作系统交互的函数: >>> >>> import os >>> os.getcwd() # Return the current ...
    99+
    2023-01-31
    标准 简介 python
  • python 标准库大全
    文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 stringprep:互联网字符串准备工具 readline:GNU...
    99+
    2023-01-31
    标准 大全 python
  • Python标准库之os
    文章目录 1. OS标准库简介2. OS标准库常用函数和属性2.1 文件和目录2.1.1 `os.getcwd()`2.1.2 `os.mkdir(path, mode=0o777, *, d...
    99+
    2023-09-04
    python linux 标准库 os 常用函数
  • python标准库--logging模块
    logging模块的几个级别,默认情况下Logging模块有6个级别,代码如下#!/usr/bin/env python # coding: utf-8 __author__ = '...
    99+
    2023-01-30
    模块 标准 python
  • python中的标准库html
    目录python之标准库html__init__.py文件提供两个函数:html库中的 entities 模块html库中的 parser 模块python之标准库html html...
    99+
    2022-11-10
    python标准库html python标准库
  • Python标准库之数据库 sqlite3
    目录1、创建数据库 2、插入数据3、查询4、更新与删除Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配P...
    99+
    2022-11-12
    Python标准库 数据库 sqlite3
  • Python标准库14 数据库 (sqlite3)
    Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具。SQLite还在其它领域有广泛的应用,比如HTML5和移动端。Python...
    99+
    2023-06-02
  • 10个常用python标准库
    Python的标准库包含了大量的模块和函数,这些模块和函数为Python提供了丰富的功能和工具。以下是10个常用的Python标准库:os模块:提供了许多与操作系统交互的函数,例如访问文件系统、创建文件夹、获取环境变量等。sys模块:提供了...
    99+
    2023-10-25
    标准库 python
  • Python标准库学习之urllib
    本系列以python3.4为基础urllib是Python3的标准网络请求库。包含了网络数据请求,处理cookie,改变请求头和用户代理,重定向,认证等的函数。urllib与urllib2:python2.x用urllib2,而pytho...
    99+
    2023-01-31
    标准 Python urllib
  • Python标准库笔记(11) — Op
    Operator——标准功能性操作符接口. 代码中使用迭代器时,有时必须要为一个简单表达式创建函数。有些情况这些函数可以用一个lambda函数实现,但是对于某些操作,根本没必要去写一个新的函数。因此operator模块定义了一些函数...
    99+
    2023-01-30
    笔记 标准 Python
  • python标准库ElementTree处理xml
    目录1. 示例用法Element对象具有如下属性和操作遇到非法格式的xmlExpatError: no element foundExpatError: mismatched tag...
    99+
    2022-11-11
    python ElementTree处理xml python处理xml
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作