详解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批量转换文件编码格式
May 17 Python
为什么入门大数据选择Python而不是Java?
Mar 07 Python
Python实现网站表单提交和模板
Jan 15 Python
python3使用腾讯企业邮箱发送邮件的实例
Jun 28 Python
python redis 批量设置过期key过程解析
Nov 26 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
在python3中实现更新界面
Feb 21 Python
Python numpy多维数组实现原理详解
Mar 10 Python
Jupyter notebook 启动闪退问题的解决
Apr 13 Python
Pycharm新手使用教程(图文详解)
Sep 17 Python
Python 中Operator模块的使用
Jan 30 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 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
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
php xml-rpc远程调用
2008/12/19 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
浅谈php中mysql与mysqli的区别分析
2013/06/10 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
非常好的js代码
2006/06/27 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
2015/12/03 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
Python画图高斯分布的示例
2019/07/10 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
数据库专业英语
2012/11/30 面试题
先进个人推荐材料
2014/12/29 职场文书
普宁寺导游词
2015/02/04 职场文书
详解Spring事件发布与监听机制
2021/06/30 Java/Android
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers
Python可视化神器pyecharts绘制水球图
2022/07/07 Python