详解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 中 Virtualenv 和 pip 的简单用法详解
Aug 18 Python
Python机器学习logistic回归代码解析
Jan 17 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
Feb 26 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
May 26 Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 Python
python 中文件输入输出及os模块对文件系统的操作方法
Aug 27 Python
Django中数据库的数据关系:一对一,一对多,多对多
Oct 21 Python
python根据list重命名文件夹里的所有文件实例
Oct 25 Python
在numpy矩阵中令小于0的元素改为0的实例
Jan 26 Python
Python Django 前后端分离 API的方法
Aug 28 Python
matplotlib实现数据实时刷新的示例代码
Jan 05 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
COM in PHP (winows only)
2006/10/09 PHP
smarty实例教程
2006/11/19 PHP
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
PHP导航下拉菜单的实现如此简单
2013/09/22 PHP
浅谈PHP的反射机制
2016/12/15 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
完美的php分页类
2017/10/24 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
javascript编程起步(第二课)
2007/02/27 Javascript
用javascript实现页面打印的三种方法
2007/03/05 Javascript
TopList标签和JavaScript结合两例
2007/08/12 Javascript
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
JavaScript多态与封装实例分析
2018/07/27 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
跟老齐学Python之开始真正编程
2014/09/12 Python
Python之list对应元素求和的方法
2018/06/28 Python
Python实现随机漫步功能
2018/07/09 Python
实例介绍Python中整型
2019/02/11 Python
Python内置类型性能分析过程实例
2020/01/29 Python
美国受信赖的教育产品供应商:Nest Learning
2018/06/14 全球购物
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
免税水晶:Duty Free Crystal
2019/05/13 全球购物
学校师德师风整改方案
2014/10/28 职场文书
毕业设计致谢语
2015/05/14 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python