详解Python中正则匹配TAB及空格的小技巧

发布时间:2020-10-15 08:38:48

来源:脚本之家

阅读:94

作者:杰瑞26

在正则中,使用.*可以匹配所有字符,其中.代表除\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中正则匹配TAB及空格的小技巧相关推荐

  1. python调用cmd命令释放端口_详解python调用cmd命令三种方法

    目前我使用到的python中执行cmd的方式有三种 使用os.system("cmd") 该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码, ...

  2. python中有那几种赋值_详解Python列表赋值复制深拷贝及5种浅拷贝

    概述 在列表复制这个问题,看似简单的复制却有着许多的学问,尤其是对新手来说,理所当然的事情却并不如意,比如列表的赋值.复制.浅拷贝.深拷贝等绕口的名词到底有什么区别和作用呢? 列表赋值 # 定义一个新 ...

  3. python os.path.exists 已存在_详解python os.path.exists判断文件或文件夹是否存在

    1.SocketServer模块编写的TCP服务器端代码 Socketserver原理图服务端:import SocketServer #导入SocketServer,多线程并发由此类实现 class ...

  4. python爬取小说出现乱码_详解Python解决抓取内容乱码问题(decode和encode解码)

    一.乱码问题描述 经常在爬虫或者一些操作的时候,经常会出现中文乱码等问题,如下 原因是源网页编码和爬取下来后的编码格式不一致 二.利用encode与decode解决乱码问题 字符串在Python内部的 ...

  5. python 提示按任意键退出_详解Python实现按任意键继续/退出的功能 python请按任意键继续 什么意思...

    请问python中如何实现按任意键继续效果.嗯,请问哪里有中文的手册下载吗?还有,小编试了,pause命令编译时不认啊,. python请按任意键继续 什么意思 pause命令就是按任意键继续,你按需 ...

  6. python识别数字程序_详解python实现识别手写MNIST数字集的程序

    我们需要做的第⼀件事情是获取 MNIST 数据.如果你是⼀个 git ⽤⼾,那么你能够通过克隆这本书的代码仓库获得数据,实现我们的⽹络来分类数字 git clone https://github.co ...

  7. python随机生成数字列表_详解Python利用random生成一个列表内的随机数

    首先,需要导入random模块: import random 随机取1-33之间的1个随机数,可能重复: random.choice(range(1,34)) print得到一系列随机数,执行一次得到 ...

  8. python自己创建模块引用失败_详解Python import方法引入模块的实例 Python怎么import自己写的模块...

    python中 import导入模块失败的问题? python中的import引用不了模块我傻,为你傻;我痛,为你痛;深夜里,你是我一种惯性的回忆. 为什么我用from lianxi import*就 ...

  9. python哪些类型可以作为迭代器_详解Python迭代和迭代器

    我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange. 可迭代 一个对象,物理或者虚拟存储的序列.list,tuple,strins,dicttionary, ...

  10. python连续输入直到回车退出_详解Python实现按任意键继续/退出的功能

    前言 要实现该功能,需要的就是暂停程序.等待并捕捉用户的一个键盘输入,然后继续执行.Python 有内建的库能帮我们实现该功能,不过要区别对待 Windows 和 Linux. msvcrt中的 ge ...

最新文章

  1. perl中用warn进行调试
  2. 国际化困境(第二篇)
  3. java中的session对象,Java对象中Response与session对象的方法是什么?
  4. 统计学习方法第十八章作业:PLSA 概率潜在语义分析算法 代码实现
  5. C++设计模式之抽象工厂模式
  6. GWT Spring和Hibernate进入数据网格世界
  7. IntelliJ IDEA for Mac 项目窗口详解(Project Windows)
  8. 新基建系列之:中国城市人工智能发展指数报告
  9. 关于“只有静态常量整型数据成员才可以在类中初始化”
  10. 数据库笔记05:创建与管理数据库
  11. Spring MVC 3.2+ @ResponseBody 导致的中文乱码处理
  12. 如何使用SVG生成超酷的页面预加载素描动画效果
  13. 计算机视觉专业名词中英文对照
  14. 哪个ei期刊容易过计算机专业,计算机期刊哪个好中_ei期刊计算机_计算机八大核心期刊...
  15. 第5关:类与对象练习------Java面向对象 - 类与对象
  16. 宋体 ttf_Linux安装7种思源宋体的5个步骤
  17. ubuntu 使用 egl
  18. 微博、微信上的假消息害苦了哥
  19. 为双系统 Ubuntu grub启动项中添加Windows启动项
  20. sublime 自定义快捷键、宏录制

热门文章

  1. 一文读懂VictoriaMetrics集群方案
  2. 浅谈高并发系统性能调优
  3. spring整合hibernate出现HibernateException: Unable to get the default Bean Validation factory
  4. PHP三维数组变一维
  5. 详谈java类和对象的生命周期
  6. ZooKeeper 3.4.5 分布式环境搭建
  7. X86 CPU特性之(1)-umip
  8. Qt中的QString和QByteArray之间转换
  9. idea中.ignore插件的使用
  10. 遍历集合常见的两种方式