首页 > 编程语言 >正则表达式语法及其在python的应用

正则表达式语法及其在python的应用

时间:2023-05-10 14:23:22浏览次数:62  
标签:字符 匹配 re python 语法 正则表达式 字符串 表达式

一、语法

参考:https://www.liujiangblog.com/course/python/73

1、普通字符:正则表达式中的普通字符在进行匹配的时候只会匹配与自身相同的一个字符。

2、元字符:.小数点;|逻辑或;[]匹配字符集中的一个字符;[^]对字符集求反;-定义字符集中的字符区间;\对紧跟其后的一个字符进行转义;()对表达式进行分组,将圆括号内的内容当作一个整体, 并获得匹配的值。

3、转义字符:\r匹配回车;\n匹配换行符;\t匹配制表符;\\匹配\斜杠;\^匹配^;\$匹配$;\.匹配.

4、预定义匹配字符集:\d匹配数字0~9;\w匹配数字字母下划线;\s匹配空格制表符换行符等空白字符其中的任意一个;\D、\W、\S为对应小写的反集

5、重复匹配:{n}表达式重复n次;{m, n}表达式至少重复m次,最多重复n次;{m,}表达式至少重复m次;?匹配表达式0次或1次;+表达式至少出现1次;*表达式出现0次及更多任意次

6、位置匹配:^在字符串开始位置匹配;$在字符串结束位置匹配;\b匹配单词边界,即单词和空格之间的位置,符号本身不匹配任何字符串;\B匹配非单词边界,即左右两边都是\w范围或者左右两边都不是\w范围时的字符缝隙

7、贪婪和非贪婪模式:在重复匹配时,正则表达式默认总是尽可能多地匹配,这就是贪婪模式;而对于尽可能少地匹配的情形,被称为非贪婪模式,在修饰匹配次数的特殊符号后加上问号?即可。

8、反向引用:在匹配表达式时,表达式引擎会将小括号()包含的表达式所匹配到的字符串记录下来,在获取匹配结果的时候,小括号包含的表达式所匹配到的字符串可以单独获取,同时在匹配过程中也可以引用。引用的方法为\加上一个数字,\1引用表示引用第1对括号内的匹配到的字符串,\2引用第2对括号内匹配到的字符串……以此类推。

 二、python中的re模块

参考: https://www.liujiangblog.com/course/python/74

re模块的三大搜索函数:re.findall() re.match() re.search()

re.match()会从给定字符串的开头开始匹配,匹配不成功返回None,匹配成功后返回第一个匹配对象,该对象具有.start()、.end()、.span()、.group()方法,用于返回匹配结果的开始下标、结束下标、位置范围以及匹配到的字符串本身。

re.search()会在整体文本范围内寻找,返回第一个匹配到的字符串。和re.match()的不同之处在于不限制从开头开始匹配。

re.findall()会进行全文查找,并将所有匹配到的结果组成一个字符串列表,如果一个都没有匹配到那么将返回一个空列表。

 

 

标签:字符,匹配,re,python,语法,正则表达式,字符串,表达式
From: https://www.cnblogs.com/freecheng/p/17356834.html

相关文章

  • 正则表达式详解
    一、正则表达式概述正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。通俗的讲就是按照某种规则去匹配符合条件的字符串一个正则表达式是一种从左到右匹配主体字符串的模式。“Regularexpression”这个词比较拗口,我们常使用缩写......
  • mac下 nvm 安装 node 版本报错 python: not found
    mac下nvminstallv12.22.12时,始终限制安装失败,解决方案,做好以下两件事:将镜像源更换位淘宝镜像源将终端app右键显示简介,勾选rosetta重启终端即可参考 https://blog.csdn.net/xinshou_caizhu/article/details/128889858https://www.jianshu.com/p/2b47107e188a?utm......
  • Python 密码破解指南:15~19
    协议:CCBY-NC-SA4.0译者:飞龙本文来自【OpenDocCN饱和式翻译计划】,采用译后编辑(MTPE)流程来尽可能提升效率。收割SB的人会被SB们封神,试图唤醒SB的人是SB眼中的SB。——SB第三定律十五、破解仿射密码原文:https://inventwithpython.com/cracking/chapter15.html......
  • 007 python3写一个http接口服务(get, post),给别人调用
    一、python3写一个http接口服务,给别人调用3这次选择fastapi,FastAPI是一个现代的、快速(高性能)的web框架,用于基于标准Python类型提示使用Python3.6+构建api。具有快速、快速编码、更少的错误、直观、简单、简便、健壮。简易而且本地win10能够跑起来二、FastAPI的get接口代码实现......
  • Python 密码破解指南:0~4
    协议:CCBY-NC-SA4.0译者:飞龙本文来自【OpenDocCN饱和式翻译计划】,采用译后编辑(MTPE)流程来尽可能提升效率。收割SB的人会被SB们封神,试图唤醒SB的人是SB眼中的SB。——SB第三定律零、简介原文:https://inventwithpython.com/cracking/chapter0.html“我是无意......
  • python 报错:TypeError: only integer scalar arrays can be converted to a scalar in
    defconvolution(initial_img,kernal):img=np.zeros((initial_img.shape[0],initial_img.shape[1])).astype(np.uint8)forxinrange(1,initial_img.shape[0]-1):foryinrange(1,initial_img.shape[1]-1):temp=np.zeros([3,3......
  • python虚拟环境
    什么是虚拟环境Python虚拟环境是一个独立的Python开发环境,它包含自己的Python解释器、包和依赖项,可以与系统中的其他Python环境隔离开来。通过创建虚拟环境,您可以在不影响其他项目的情况下安装和管理特定于项目的依赖项和包。这对于在同一系统上运行多个Python项目或与其它开发人......
  • python记录
    1,要注意Python是区分大小写的2,此外,你需要确保每一行的第一个字符前面都没有任何空格或制表格3,运行help('len')命令——这将显示出有关len函数的帮助,小贴士:按下q键可以退出帮助4,按ctrl+z或quit()退出控制台运行5,注释是任何存在于#号右侧的文字6,数字主要分为......
  • python控制windows 任务计划程序 获取具体单一任务
     importwin32com.clientTASK_ENUM_HIDDEN=1TASK_STATE={0:'Unknown',1:'Disabled',2:'Queued',3:'Ready',4:'Running'}scheduler=win32c......
  • python 中读入文件跳过文件的前几行
     001、[root@PC1test]#lsa.txttest.py[root@PC1test]#cata.txt##测试文件1abcd2abcd3abcd4abcd[root@PC1test]#cattest.py##测试程序in_file=open("a.txt","r")in_file.next()......