详解Python中正则匹配TAB及空格的小技巧
在正则中,使用.*可以匹配所有字符,其中.代表除\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 正则匹配两个特定字符之间的字符方法
如下所示: # -*- coding: cp936 -*- import re string = "xxxxxxxxxxxxxxxxxxxxxxxx entry '某某内容' for aaaaaaaaaaaaaaaaaa" result = re.findall(".*entry(.*)for.*",string) for x in result: print x # '某某内容' 以上这篇使用Python 正则匹配两个特定字符之间的字符方法就是小编分享
-
python使用正则表达式匹配字符串开头并打印示例
本文实例讲述了python使用正则表达式匹配字符串开头并打印的方法.分享给大家供大家参考,具体如下: import re s="name=z1hangshan username=fff url=www.baidu.com password=ddd256" s2="username=fff name=z1hangshan url=www.baidu.com password=ddd256" #p=re.compile(r'((?:\s)name=(\S)+)') p=
-
Python利用正则表达式匹配并截取指定子串及去重的方法
本文实例讲述了Python利用正则表达式匹配并截取指定子串及去重的方法.分享给大家供大家参考.具体如下: import re pattern=re.compile(r'\| (\d+) \| (\d+) \|') numset=set() all=''' | 29266795 | 533 | | 29370116 | 533 | | 29467495 | 533 | | 29500404 | 533 | | 29500622 | 533 | | 29515964 | 530 | | 295160
-
python使用正则表达式替换匹配成功的组
正则表达式简介 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的正则表达式引擎.正则表达式这个概念最初是由Unix中的工
-
Python匹配中文的正则表达式
正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持的语法通常是不常用的部分. Python正则表达式简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 P
-
python正则表达式中的括号匹配问题
问题: m = re.findall('[0-9]*4[0-9]*', '[4]') 可以匹配到4. m = re.findall('([0-9])*4([0-9])*', '[4]') 匹配不到4. 这是为什么呢?PS,这个是一个简化的说明,我要用的正则比这个复杂,所以要用到(),表示一个序列的匹配. 补充一点,我放在notepad++中用的时候,两种写法都能匹配出来,不知道为什么python中就不行了. 答案: python的正则中用()会进行匹配,所以返回结果是['',''],就是两个()
-
Python正则表达式匹配中文用法示例
本文实例讲述了Python正则表达式匹配中文用法.分享给大家供大家参考,具体如下: #!/usr/bin/python #-*- coding:cp936-*-#思路,将str转换成unicode,方可用正则表达式,前提是,要知道文件的编码,本例中是gbk import cPickle as mypickle import re import sys if (__name__=='__main__'): fid1=file('demo.txt','r');#demo.txt写入字符如:我们 p=
-
详解python里使用正则表达式的全匹配功能
详解python里使用正则表达式的全匹配功能 python中很多匹配,比如搜索任意位置的search()函数,搜索边界的match()函数,现在还需要学习一个全匹配函数,就是搜索的字符与内容全部匹配,它就是fullmatch()函数. 例子如下: #python 3.6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # import re text = 'This is some text -- with punctua
-
Python时间的精准正则匹配方法分析
本文实例讲述了Python时间的精准正则匹配方法.分享给大家供大家参考,具体如下: 要用正则表达式精准匹配时间,其实并不容易 方式一: >>> import re >>> t = '19:10:48' >>> m = re.match(r'(.*):(.*):(.*)', t) >>> m.groups() ('19', '10', '48') 方式二: >>> t = '19:10:48' >>>
-
Python正则表达式匹配ip地址实例
本文实例讲述了正则表达式匹配ip地址实例.代码结构非常简单易懂.分享给大家供大家参考. 主要实现代码如下: import re reip = re.compile(r'(?<![\.\d])(?:\d{1,3}\.){3}\d{1,3}(?![\.\d])') for ip in reip.findall(line): print "ip>>>", ip PS:关于正则,这里再为大家推荐2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式
随机推荐
- vue使用mint-ui实现下拉刷新和无限滚动的示例代码
- JavaScript 面向对象编程(1) 基础
- apache性能测试工具ab使用详解
- CentOS 7下MongoDB的安装配置详解
- java中的Io(input与output)操作总结(二)
- 详解iOS中按钮点击事件处理方式
- 基于对象合并功能的实现示例
- php用数组返回无限分类的列表数据的代码
- PHP编实现程动态图像的创建
- fleaphp crud操作之findByField函数的使用方法
- 对于IE7、FF、OP清除浮动的最优方法第1/2页
- Redis中的数据过期策略详解
- 浅谈EasyUI中编辑treegrid的方法
- jQuery+jsp实现省市县三级联动效果(附源码)
- 巧用Gmail(Google)传送文件
- 在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
- PHP实现的登录页面信息提示功能示例
- static_cast,dynamic_cast,reinterpret_cast,const_cast的区别及用法详解
- 浅析结束程序函数exit, _exit,atexit的区别
- [基础知识]Linux新手系列之一