详解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爬虫包 BeautifulSoup  递归抓取实例详解
Jan 28 Python
Python机器学习之SVM支持向量机
Dec 27 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
使用pycharm生成代码模板的实例
May 23 Python
Python 过滤错误log并导出的实例
Dec 26 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 Python
pygame用blit()实现动画效果的示例代码
May 28 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
python爬虫中采集中遇到的问题整理
Nov 27 Python
pytorch常用数据类型所占字节数对照表一览
May 17 Python
如何在pycharm中快捷安装pip命令(如pygame)
May 31 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
Apr 21 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实现Session存储到Redis
2015/11/11 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
jQuery ui 1.7更新小结
2009/08/15 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
JS实现加载时锁定HTML页面元素的方法
2017/06/24 Javascript
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
vue-prop父组件向子组件进行传值的方法
2018/03/01 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
python安装numpy&安装matplotlib& scipy的教程
2017/11/02 Python
pandas.loc 选取指定列进行操作的实例
2018/05/18 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
浅析matlab中imadjust函数
2020/02/27 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
销售人员个人求职信
2013/09/26 职场文书
汽车技术服务英文求职信范文
2014/01/02 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
生日赠语
2015/06/23 职场文书
呼兰河传读书笔记
2015/06/30 职场文书