详解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简单日志处理类分享
Feb 14 Python
在Python中使用itertools模块中的组合函数的教程
Apr 13 Python
python通过openpyxl生成Excel文件的方法
May 12 Python
python比较两个列表大小的方法
Jul 11 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
Python批量合并有合并单元格的Excel文件详解
Apr 05 Python
Python使用LDAP做用户认证的方法
Jun 20 Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 Python
python中round函数如何使用
Jun 19 Python
用pandas划分数据集实现训练集和测试集
Jul 20 Python
M1芯片安装python3.9.1的实现
Feb 02 Python
如何用python识别滑块验证码中的缺口
Apr 01 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
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
jquery插件推荐浏览器嗅探userAgent
2014/11/09 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
Python元字符的用法实例解析
2018/01/17 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
python装饰器代替set get方法实例
2019/12/19 Python
pytorch 常用线性函数详解
2020/01/15 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
IE9下html5初试小刀
2010/09/21 HTML / CSS
留学自荐信的技巧
2013/10/17 职场文书
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
汽车服务工程专业自荐信
2014/09/02 职场文书
董存瑞观后感
2015/06/11 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang