(6-09)re模块的使用-compile 和match

2024-06-08 06:58
文章标签 模块 使用 compile re 09 match

本文主要是介绍(6-09)re模块的使用-compile 和match,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 1.compile
    • 2.match

1.compile

  • compile 函数用于将一个字符串形式的正则表达式编译成一个正则表达式对象,供 match、search以及其他一些函数使用。compile函数的语法格式为:
re.compile(pattern, flags=0)其中,pattern是一个字符串形式的正则表达式;
flags指定了匹配选项,可以使用按位或(|)运算符将多个选项连接起来;
flags的默认值为0,表示没有任何匹配选项。
  • flags参数对应的匹配选项
匹配选项描述
re.A或re.ASCII使特殊序列中的\w、\W、\b、\B、\d、\D、\s、\S仅作ASCII码的匹配,而不是Unicode码的匹配
re.DEBUG显示被编译正则表达式的调试信息
re.I或re.IGNORECASE(常用)匹配时不区分大小写
re.L或re.LOCATE使特殊序列中的\w、\W、\b、\B和不区分大小写的匹配取决于当前的语言环境(不建议使用)
re.M或re.MULTILINE使匹配模式中的^能够匹配每行的开头若干个字符,$能够匹配每行的结尾若干个字符
re.S或re.DOTALL使匹配模式中的.(点)能够匹配任一字符(包括换行符)
re.X或re.VERBOSE忽略正则表达式中的空格和#后面的注释

2.match

  • re模块中的match函数用于对字符串开头的若干字符进行正则表达式的匹配。re.match函数的语法格式为:
re.match(pattern, string, flags=0)其中,pattern是要匹配的正则表达式;
string要作正则表达式匹配的字符串;
flags参数的含义与compile函数中的flags参数相同。
如果匹配成功,则返回一个Match对象;如果匹配失败,则返回None
  • eg:
# r:忽略转义字符
# re.I忽略大小写
import re
result1=re.match(r'python', 'Python是一门流行的编程语言', re.I)
result2=re.match(r'python', '我喜欢学习Python', re.I)
result3=re.match(r'python', '''我喜欢学习Python
Python是一门流行的编程语言''', re.I|re.M)print('result1:',result1)
print('result2:',result2)
print('result3:',result3)结果:
result1: <re.Match object; span=(0, 6), match='Python'>  #下标0-下标5是我们匹配的字符串
result2: None
result3: None解释:
match函数返回的是一个Match对象,其中span是匹配的字符序列在字符串中的位置信息,
而match中保存了匹配到的字符序列信息。即便对flags参数指定了匹配选项re.MULTILINE或re.M,re.match函数也只会
对字符串开头的若干字符作匹配,而不对后面行的开头字符作匹配。
  • 除了直接调用re模块中的match函数外,也可以使用compile函数生成的正则表达式对象中的match方法实现同样的功能,其语法格式为:
Pattern.match(string[,pos[,endpos]])其中,Pattern是compile函数返回的正则表达式对象;string是要做正则表达式匹配的字符串;
可选参数pos指定了从string的哪个位置开始进行匹配,默认为0;
可选参数endpos指定了string的结束位置,
match函数将对string中pos至endpos-1范围的子串进行正则表达式匹配。
  • eg:
import re
pattern=re.compile(r'python', re.I) #生成正则表达式对象
result1=pattern.match('Python是一门流行的编程语言') # 调用pattern对象的match方法
result2=pattern.match('我喜欢学习Python!',5) # 从下标为5的字符开始匹配,即从P开始匹配print('result1:',result1)
print('result2:',result2)结果:
result1: <re.Match object; span=(0, 6), match='Python'> # 匹配的下标是0-5
result2: <re.Match object; span=(5, 11), match='Python'> # 匹配的下标是5-10解释:
优先使用re.match,若只用一次,就用re.match使用compile函数的优点在于:当一个正则表达式在程序中被多次使用时,
通过compile函数生成的正则表达式对象可重复使用、从而提高效率

这篇关于(6-09)re模块的使用-compile 和match的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041468

相关文章

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的