Python正则表达式初识(三)
2024-08-31 16:18:06
前几天给大家分享了Python正则表达式基础(一)和Python正则表达式基础(二),感兴趣的小伙伴可以点击进去学习,今天继续给大家分享Python正则表达式基础。
1、正则表达式特殊字符“+”,其代表的意思“+”号前面的任意字符必须至少出现一次,才能匹配成功。如下图所示,如果没有加特殊字符“+”,则按照前面介绍的贪婪模式从右边进行匹配,输出的结果为“pp”。
2、现在将匹配模式由之前的“.*(p.*p).*”改为“.*(p.+p).*”,即将特殊字符“*”改为特殊字符“+”,用特殊字符“+”来限定前面的字符出现的次数,至少出现一次。运行程序,得到的结果为“ppp”,如下图所示。
简单的来理解一下,首先贪婪模式不在赘述,然后匹配到第一个字符p,之后碰到特殊字符“+”,表示匹配任意字符,但该字符至少出现一次,然后再匹配到第二个字符p,才会提取到匹配的字符串。
3、再次来感受一下,将之前的三个ppp改为现在的php,之后再运行程序,如下图所示,得到的结果是php。
4、如果将之前的三个ppp改为现在的phhp,会有什么样的结果呢?如下图所示,毋庸置疑,答案肯定是phhp。
因为特殊字符“+”号表示只要任意字符至少出现一次,都会被提取出来。
5、简单的来总结一下,特殊字符“*”和特殊字符“+”都是用来表示字符出现次数的限定词,用于限定前面的任意字符出现的次数。不同的地方在于特殊字符“*”模式下,字符出现的次数可以是0次或者任意多次,而特殊字符“+”模式下,字符出现的次数至少是1次。
小伙伴们,关于正则表达式特殊字符“*”和特殊字符“+”的理解,你们get到了吧?
最新文章
- [转].net core 通过ViewComponent封装控件 左侧菜单
- 什么是BOM头,BOM头有什么影响,怎么去掉BOM头
- 对Ajax的理解
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【外传】——Attribute Routing
- Spring控制反转与依赖注入(IOC、DI)
- Pyqt QListWidget 展示系统环境变量
- 数组越界保护与消息传递black机制
- dedecms 列表页 list 判断flag给定指定样式 (本地测试有效)
- 有道单词本添加js实现自动阅读单词
- 在DLL中封装的VCL窗体Tab键响应的问题
- Python图形界面开发编程:wxPython(浅尝篇)
- 竞赛常用STL备忘录
- web (Servlet)
- 20169207《Linux内核原理与分析》第三周作业
- BeginPaint 和 GetDC 的一个区别
- Synchronous/Asynchronous:任务的同步异步,以及asynchronous callback异步回调
- 8.7 正睿暑期集训营 Day4
- 转css中文英文换行、禁止换行、显示省略号
- 「Codechef April Lunchtime 2015」Palindromeness
- Python3 数字Number(六)
热门文章
- 2015 Multi-University Training Contest 1 OO’s Sequence
- spark的内存分配管理
- Linux 文件描写叙述符设置为非堵塞的方法
- WEB前端开发工程师成长计划
- BZOJ 3240 构造矩阵+矩阵快速幂
- Android 自定义viewpager 三张图片在同一屏幕轮播的效果
- RelativeLayout中的baseline
- 请问Typecho Mysql 数据库和Sqlite数据库我该如何选择。
- @synchronized 再考察
- 错排公式 全排列函数 next_permitation(a,a+n)