详解Python中正则匹配TAB及空格的小技巧


Posted in Python onJuly 26, 2019

在正则中,使用.*可以匹配所有字符,其中.代表除\n外的任意字符,*代表0-无穷个,比如说要分别匹配某个目录下的子目录:

>>> import re
>>> match = re.match(r"/(.*)/(.*)/(.*)/", "/usr/local/bin/")
>>> match.groups()
('usr', 'local', 'bin')
>>>

比如像上面,使用(.*)就能很好的匹配,但如果字符串中里面即有TAB键,又有空格,要匹配出来,如何匹配呢?比如说像"Hello          Python World!", Hello到Python之间,即有空格键,又有TAB键,而且可能有1到多个,这个直接用(.*)就连"Python "给匹配到了,从下面可以看到两个TAB,两个空格键,还有Python都匹配到了。

>>> import re
>>> match = re.match(r"Hello(.*)World!", "Hello      Python World!")
>>> match.group(1)
'\t\t Python '
>>>

要想匹配到TAB和空格的混合字符,可以使用下面的两个小技巧:

1). 使用\s来匹配

>>> import re
>>> match = re.match(r"Hello(\s*)(.*)World!", "Hello       Python World!"
)
>>> match.groups()
('\t\t ', 'Python ')
>>>

2). 使用[\t ]来匹配

>>> import re
>>> match = re.match(r"Hello([\t ]*)(.*)World!", "Hello      Python World!"
)
>>> match.groups()
('\t\t ', 'Python ')
>>>

上面的小技巧,都能完美匹配TAB和空格键.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
探寻python多线程ctrl+c退出问题解决方案
Oct 23 Python
python写日志封装类实例
Jun 28 Python
Python 字符串转换为整形和浮点类型的方法
Jul 17 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
Apr 26 Python
python算法与数据结构之单链表的实现代码
Jun 27 Python
Python学习笔记之迭代器和生成器用法实例详解
Aug 08 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
Django实现内容缓存实例方法
Jun 30 Python
Python如何定义接口和抽象类
Jul 28 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
Jul 26 #Python
Django Rest framework频率原理与限制
Jul 26 #Python
Django 使用easy_thumbnails压缩上传的图片方法
Jul 26 #Python
解决django服务器重启端口被占用的问题
Jul 26 #Python
深入解析神经网络从原理到实现
Jul 26 #Python
python单例模式的多种实现方法
Jul 26 #Python
django的ORM操作 增加和查询
Jul 26 #Python
You might like
PHP扩展CURL的用法详解
2014/06/20 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
Javascript复制实例详解
2016/01/28 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
2016/10/05 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
jquery实现折叠菜单效果【推荐】
2017/03/08 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
vue+axios全局添加请求头和参数操作
2020/07/24 Javascript
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
详解python发送各类邮件的主要方法
2016/12/22 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
2020/03/12 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
英语商务邀请函范文
2014/01/16 职场文书
销售经理竞聘书
2014/03/31 职场文书
我爱读书演讲稿
2014/05/07 职场文书
好听的队名和口号
2014/06/09 职场文书
个人查摆问题整改措施
2014/10/04 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
加班费申请报告
2015/05/15 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
python如何利用traceback获取详细的异常信息
2021/06/05 Python
python数字图像处理之图像的批量处理
2022/06/28 Python