详解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爬虫框架Scrapy实例代码
Mar 04 Python
用pandas按列合并两个文件的实例
Apr 12 Python
python3库numpy数组属性的查看方法
Apr 17 Python
用Python编写一个简单的CS架构后门的方法
Nov 20 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
Apr 15 Python
Python实现时间序列可视化的方法
Aug 06 Python
使用selenium和pyquery爬取京东商品列表过程解析
Aug 15 Python
Python如何自动获取目标网站最新通知
Jun 18 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
浅析NumPy 切片和索引
Sep 02 Python
如何利用Python动态模拟太阳系运转
Sep 04 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守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
理解nodejs的stream和pipe机制的原理和实现
2017/08/12 NodeJs
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
python去掉字符串中重复字符的方法
2014/02/27 Python
python使用pil生成图片验证码的方法
2015/05/08 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
一文了解Python并发编程的工程实现方法
2019/05/31 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
使用Python+selenium实现第一个自动化测试脚本
2020/03/17 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
Melissa香港官网:MDreams
2016/07/01 全球购物
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
学校门卫管理制度
2014/01/30 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
数学教师求职信范文
2015/03/20 职场文书
借条格式范本
2015/05/25 职场文书
小兵张嘎电影观后感
2015/06/03 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
javascript对象3个属性特征
2021/11/17 Javascript
springboot实现string转json json里面带数组
2022/06/16 Java/Android