说说Python中贪婪和非贪婪匹配?
发布日期:2021-06-29 18:25:12
浏览次数:2
分类:技术文章
本文共 787 字,大约阅读时间需要 2 分钟。
公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
废话不多说,开始今天的题目:
问:说说Python中贪婪和非贪婪匹配?
答:Python 中默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;
而非贪婪匹配:与贪婪匹配相反,非贪婪匹配在匹配字符串时总是尝试匹配尽可能少的字符。
只需要在量词 "*","?","+","{m,n}" 后面直接加上一个问号”?”,就可以使贪婪变成非贪婪。
python的正则表达式中的量词
符号 | 描述 |
---|---|
* | 匹配零次或多次 |
+ | 匹配一次或多次 |
? | 匹配一次或零次 |
{m} | 重复m次 |
{m,n} | 重复m到n次(m - n-1),其中n可以省略,表示m到任意次 |
下面用个简单的代码给大家看一下:
import renum = '123456768'# 匹配一串数字,只匹配到了一个result01 = re.search(r"\d",num).group()print(result01)# 增加了 + 号之后,就可以匹配多个了,此时可以算是贪婪模式result02 = re.search(r"\d+",num).group()print(result02)# 那么想要变回非贪婪的话,只要增加一个?号即可result03 = re.match(r"\d+?",num).group()print(result03)运行结果:11234567681
如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!
更多题目:
关注小猿公众号,每天学习一道题
转载地址:https://cxydev.blog.csdn.net/article/details/103249227 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月14日 19时47分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Android之测量APP性能-分析和调试 APK(二)
2019-04-30
Android之测量APP性能-检查网络流量(三)
2019-04-30
Android开发之ViewModel的基础应用
2019-04-30
需求分析之Xmind构建思维导图
2019-04-30
如何在iPhone手机上安装ipa(应用安装包)
2019-04-30
mysql基础教程(一)windows下安装 mysql数据库
2019-04-30
mysql基础教程(二)windows下安装 mysql数据库
2019-04-30
mysql基础教程(三)连接腾讯云 mysql服务器
2019-04-30
mysql基础教程(四)域名解析
2019-04-30
mysql基础教程(五)https证书配置
2019-04-30
关于android手机屏幕密度的实测和状态栏的高度
2019-04-30
mysql基础教程(六)搭建ftp
2019-04-30
Ubuntu及Mysql快速入门教程
2019-04-30
window平台下本地连接远程服务器数据库(一)
2019-04-30
数据库操作基础语句
2019-04-30
ubuntu搭建 ftp服务器,实现文件的上传与下载
2019-04-30
Springboot 基础架构介绍及编写Helloworld(七)
2019-04-30
android 工程调试方法
2019-04-30