python正则表达式re模块详解

 更新时间:2014年06月25日 11:04:02   投稿:hebedich  
re 模块包含对正则表达式的支持,因为曾经系统学习过正则表达式,所以基础内容略过,直接看 python 对于正则表达式的支持。

快速入门

import re

pattern = 'this'
text = 'Does this text match the pattern?'

match = re.search(pattern, text)

s = match.start()
e = match.end()

print('Found "{0}"\nin "{1}"'.format(match.re.pattern, match.string))
print('from {0} to {1} ("{2}")'.format( s, e, text[s:e]))

执行结果:

#python re_simple_match.py 
Found "this"
in "Does this text match the pattern?"
from 5 to 9 ("this")
import re

# Precompile the patterns
regexes = [ re.compile(p) for p in ('this', 'that')]
text = 'Does this text match the pattern?'

print('Text: {0}\n'.format(text))

for regex in regexes:
  if regex.search(text):
    result = 'match!'
  else:
    result = 'no match!'
    
  print('Seeking "{0}" -> {1}'.format(regex.pattern, result))

执行结果:

#python re_simple_compiled.py 
Text: Does this text match the pattern?

Seeking "this" -> match!
Seeking "that" -> no match!

import re

text = 'abbaaabbbbaaaaa'

pattern = 'ab'

for match in re.findall(pattern, text):
  print('Found "{0}"'.format(match))

执行结果:

#python re_findall.py 
Found "ab"
Found "ab"

import re

text = 'abbaaabbbbaaaaa'

pattern = 'ab'

for match in re.finditer(pattern, text):
  s = match.start()
  e = match.end()
  print('Found "{0}" at {1}:{2}'.format(text[s:e], s, e))

执行结果:

#python re_finditer.py 
Found "ab" at 0:2
Found "ab" at 5:7

相关文章

  • python信号量,条件变量和事件详解

    python信号量,条件变量和事件详解

    这篇文章主要为大家介绍了python的信号量,条件变量和事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 从np.random.normal()到正态分布的拟合操作

    从np.random.normal()到正态分布的拟合操作

    这篇文章主要介绍了从np.random.normal()到正态分布的拟合操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 深入了解Python 方法之类方法 & 静态方法

    深入了解Python 方法之类方法 & 静态方法

    这篇文章主要介绍了Python类方法 & 静态方法的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-08-08
  • Apache如何部署django项目

    Apache如何部署django项目

    这篇文章主要介绍了Apache如何部署django项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • python利用tkinter实现屏保

    python利用tkinter实现屏保

    这篇文章主要为大家详细介绍了python利用tkinter实现屏保,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Python pip安装库时存在缓存以及清除方法

    Python pip安装库时存在缓存以及清除方法

    这篇文章主要给大家介绍了关于Python pip安装库时存在缓存以及清除方法的相关资料,我们在安装Python库时,是安装版的话一般都通过 pip install xxx 来安装包,但安装下载的文件都会缓存下来,而且一般都在C盘,需要的朋友可以参考下
    2023-08-08
  • python基础教程之csv格式文件的写入与读取

    python基础教程之csv格式文件的写入与读取

    逗号分隔值(Comma-Separated Values,CSV,也称为字符分隔值,分隔字符也可以不是逗号),新这篇文章主要给大家介绍了关于python基础教程之csv格式文件的写入与读取的相关资料,需要的朋友可以参考下
    2022-03-03
  • 基于python编写一个串口数据输出程序

    基于python编写一个串口数据输出程序

    这篇文章主要为大家详细介绍了如何基于python编写一个串口数据输出程序,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下
    2025-10-10
  • python库lxml在linux和WIN系统下的安装

    python库lxml在linux和WIN系统下的安装

    这篇内容我们给大家分享了lxml在WIN和LINUX系统下的简单快速安装过程,有兴趣的朋友参考学习下。
    2018-06-06
  • 利用Python判断文件的几种方法及其优劣对比

    利用Python判断文件的几种方法及其优劣对比

    任何的编程语言都离不开文件操作,文件操作主要是帮助我们更好的创建打开文件,读取文件中的内容、或是把我们想要保存的内容写入文件中、或是管理文件目录等等,下面这篇文章主要给大家介绍了关于利用Python判断文件的几种方法及其优劣对比的相关资料,需要的朋友可以参考下
    2022-06-06

最新评论