详解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的Django框架中设置日期和字段可选的方法
Jul 17 Python
python实现上传下载文件功能
Nov 19 Python
Python基于opencv的图像压缩算法实例分析
May 03 Python
Python补齐字符串长度的实例
Nov 15 Python
python 接收处理外带的参数方法
Dec 03 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
wxPython实现文本框基础组件
Nov 18 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
Pycharm安装并配置jupyter notebook的实现
May 18 Python
Pytorch使用shuffle打乱数据的操作
May 20 Python
pytorch 如何使用float64训练
May 24 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技术实现加载字体并保存成图片
2015/07/27 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
Laravel 5.5 异常处理 & 错误日志的解决
2019/10/17 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
layui问题之模拟select点击事件的实例讲解
2018/08/15 Javascript
Node.js连接Sql Server 2008及数据层封装详解
2018/08/27 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
Python3中多线程编程的队列运作示例
2015/04/16 Python
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
详解Canvas事件绑定
2018/06/27 HTML / CSS
HTML5 标准将把互联网视频扔回到黑暗时代
2010/02/10 HTML / CSS
英国鞋网:Rubber Sole
2020/03/03 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
经济贸易系毕业生求职信
2014/05/31 职场文书
党员对照检查材料
2014/09/22 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技