详解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中getaddrinfo()基本用法实例分析
Jun 28 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
Mar 19 Python
Python实现字符串的逆序 C++字符串逆序算法
May 28 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
Jul 23 Python
Pytorch之contiguous的用法
Dec 31 Python
给ubuntu18安装python3.7的详细教程
Jun 08 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
解决Django响应JsonResponse返回json格式数据报错问题
Aug 09 Python
Python 打印自己设计的字体的实例讲解
Jan 04 Python
详解运行Python的神器Jupyter Notebook
Jun 03 Python
Python 类,对象,数据分类,函数参数传递详解
Sep 25 Python
python程序的组织结构详解
Dec 06 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面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
php实现网站插件机制的方法
2009/11/10 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
JavaScript仿聊天室聊天记录
2016/12/27 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
Python对象转JSON字符串的方法
2016/04/27 Python
python数字图像处理之高级滤波代码详解
2017/11/23 Python
Python抓取框架Scrapy爬虫入门:页面提取
2017/12/01 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
Python自省及反射原理实例详解
2020/07/06 Python
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
人事档案接收函
2014/01/12 职场文书
玲玲的画教学反思
2014/02/04 职场文书
环境科学专业求职信
2014/08/04 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
合同纠纷调解书
2015/05/20 职场文书
文艺演出主持词
2015/07/01 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js