python 正则表达式贪婪模式与非贪婪模式
1 贪婪模式与非贪婪模式 的理解
1.1 贪婪模式:
是尽可能的多地匹配字符 ,贪婪模式一般是在元符号后面没有添加?
1.2 非贪婪模式(懒惰模式):
是尽可能的少匹配字符,非贪婪模式一般是元符号后面添加了?
2 demo 解释贪婪模式与非贪婪模式
例如 python 元符号中 * 代表重复匹配0次或者更多次 ,
2.1 贪婪模式的demo
import re # 导入re 模块str_content = "abcdefgabcefg" # 要匹配的内容, 对应match 里面的string
str_pattern = re.compile("a.*g")
re_content = str_pattern.match(str_content)
print(re_content.group())
打印结果如下:
2.2 非贪婪模式的demo
import re # 导入re 模块str_content = "abcdefgabcefg" # 要匹配的内容, 对应match 里面的string
str_pattern = re.compile("a.*?g")
re_content = str_pattern.match(str_content)
print(re_content.group())
打印效果如下
最后补充点知识,python 元字符的含义
元字符 | 含义 |
. | 匹配除换行符以外的任意一个字符 |
^ | 匹配行首 |
$ | 匹配行尾 |
? | 重复匹配0次或1次 |
* | 重复匹配0次或更多次 |
+ | 重复匹配1次或更多次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n~m次 |
[a-z] | 任意字符 |
[abc] | a/b/c中的任意一个字符 |
{n} | 重复n次 |
python 正则表达式贪婪模式与非贪婪模式相关推荐
- python与正则表达式(part3)--贪婪模式和非贪婪模式
文章目录 贪婪模式和非贪婪模式 定义 贪婪模式转换为非贪婪模式 贪婪模式和非贪婪模式 定义 贪婪模式: 默认情况,在整个表达式匹配成功的前提下,尽可能多的匹配. 非贪婪模式(懒惰模式): 在整个表达式 ...
- 第11.9节 Python正则表达式的贪婪模式和非贪婪模式
在使用正则表达式时,匹配算法存在贪婪模式和非贪婪模式两种模式,在<第11.8节 Pytho正则表达式的重复匹配模式及元字符"?". "*". " ...
- java 正则表达式 非贪婪模式_正则表达式的贪婪模式和非贪婪模式
一.什么是贪婪模式和非贪婪模式? 定义 贪婪模式:正则表达式趋向于匹配最大长度. 非贪婪模式:正则表达式趋向于匹配最小长度,即一旦匹配到结果就结束. 如何区分? 默认是贪婪模式. 若 量词 后面添加 ...
- java 正则表达式 非贪婪模式_详解正则表达式的贪婪模式与非贪婪模式
什么是正则表达式的贪婪与非贪婪匹配 如:String str="abcaxc"; Patter p="ab*c"; 贪婪匹配:正则表达式一般趋向于最大长度匹配, ...
- 正则表达式的贪婪模式、非贪婪模式、占有模式
文章目录 一.Greediness(贪婪型) (一)贪婪模式示例 (二)贪婪模式的匹配过程(贪婪模式的回溯) 二.Reluctant(勉强型) (一)非贪婪模式示例 (二)非贪婪模式的匹配过程 三.P ...
- Perl——正则表达式之贪婪模式和非贪婪模式
Perl--正则表达式之贪婪模式和非贪婪模式使用 使用perl进行正则表达式匹配时,常用两种匹配模式,一种是贪婪匹配,一种是非贪婪匹配. 贪婪匹配(greedy match):尽可能匹配最长的内容.默 ...
- 匹配正则_程序员入门基础:python正则表达式贪婪匹配和非贪婪匹配
此文为python正则表达式的高阶入门,正则基础入门请参考程序员入门基础:python的正则表达式. 一.贪婪匹配和非贪婪匹配 举例说明概念: print('非贪婪匹配',re.search('el+ ...
- (JavaScript)贪婪模式和非贪婪模式(懒惰模式)
文章目录 概念 一.贪婪模式与非贪婪模式的内容 二.代码 1.贪婪模式 2.非贪婪模式(懒惰模式) 概念 贪婪和非贪婪(懒惰): JavaScript中正则表达式默认是贪婪的,改成非贪 ...
- Python正则表达式中的贪心模式和非贪心模式
声明:最近发现有人利用我在百度云盘里免费分享的127课Python视频盈利,并声称获得我的授权.在此,我声明,文末百度云盘里的Python视频是免费的,不会授权给任何人或机构进行销售.如果再发现有人卖 ...
最新文章
- python注入_python的常见命令注入威胁
- 史上最浅显易懂的Git教程!
- CentOS6怎么样设置ADSL上网
- SQL Server select into 用法
- 合成小丹(dp+二进制按位或+结论)
- 查询某一支接口,指定时间段的数据 按分钟排序
- webstack响应式网站导航html源码kyuan 本地静态化版
- 大学英语期末考计算机上答卷,英语期末考试总结范文(精选5篇)
- python交互式怎么保存_如何保存Python交互式会话?
- matplotlib坐标设置(笔记二)
- Springcloud实战(五)微服务网关gateway整合nacos实战
- 一:Java语言概述
- NoteExpress 3.2下载
- iTerm2安装Zmodem工具支持rz和sz命令
- IEC101召唤过程
- 安卓_神坑的scrollbarSize
- go 异常捕获和处理(panic/recover)
- Pip 升级——以及如何更新 Pip 和 Python
- 7.3 习而学与CDIO,来自工程教育思想的启示——《逆袭大学》连载
- OpenGL(二十二) gluBuild2DMipmaps 加载Mip纹理贴图