详解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常用列表数据结构小结
Aug 06 Python
python比较两个列表大小的方法
Jul 11 Python
利用Python循环(包括while&for)各种打印九九乘法表的实例
Nov 06 Python
Python单元测试简单示例
Jul 03 Python
在Python 中同一个类两个函数间变量的调用方法
Jan 31 Python
python Tkinter的图片刷新实例
Jun 14 Python
基于sklearn实现Bagging算法(python)
Jul 11 Python
纯python进行矩阵的相乘运算的方法示例
Jul 17 Python
python神经网络编程实现手写数字识别
May 27 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
Feb 25 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 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 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
PHP游戏编程25个脚本代码
2011/02/08 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
15 个 JavaScript Web UI 库
2010/05/19 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
Python中的TCP socket写法示例
2018/05/11 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
python保存log日志,实现用log日志画图
2019/12/24 Python
基于Python生成个性二维码过程详解
2020/03/05 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
车间主任岗位职责
2014/03/16 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
班主任先进事迹材料
2014/12/17 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
Redis 配置文件重要属性的具体使用
2021/05/20 Redis