python正则表达式re模块详解


Posted in Python onJune 25, 2014

快速入门

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 相关文章推荐
wxpython学习笔记(推荐查看)
Jun 09 Python
Python里隐藏的“禅”
Jun 16 Python
python开发之基于thread线程搜索本地文件的方法
Nov 11 Python
Python实现简单http服务器
Apr 12 Python
Python实现定时自动关闭的tkinter窗口方法
Feb 16 Python
在python shell中运行python文件的实现
Dec 21 Python
python3连接kafka模块pykafka生产者简单封装代码
Dec 23 Python
python使用paramiko实现ssh的功能详解
Mar 06 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
深入了解Python 方法之类方法 & 静态方法
Aug 17 Python
利用Python如何画一颗心、小人发射爱心
Feb 21 Python
python实现图片转字符画的完整代码
Feb 21 Python
Python通过websocket与js客户端通信示例分析
Jun 25 #Python
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 #Python
Python中文编码那些事
Jun 25 #Python
教你如何在Django 1.6中正确使用 Signal
Jun 22 #Python
python抓取网页时字符集转换问题处理方案分享
Jun 19 #Python
python在linux中输出带颜色的文字的方法
Jun 19 #Python
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 #Python
You might like
php 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
PHP Session机制简介及用法
2014/08/19 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
js实现网页随机验证码
2020/10/19 Javascript
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python读写unicode文件的方法
2015/07/10 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
python取余运算符知识点详解
2019/06/27 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
Python可以实现栈的结构吗
2020/05/27 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
金智子午JAVA面试题
2015/09/04 面试题
2015年节能降耗工作总结
2015/05/22 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS
Python Numpy库的超详细教程
2022/04/06 Python
Go语言安装并操作redis的go-redis库
2022/04/14 Golang
mysql全面解析json/数组
2022/07/07 MySQL