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 相关文章推荐
Python过滤列表用法实例分析
Apr 29 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 Python
浅析Python的web.py框架中url的设定方法
Jul 11 Python
python安装cx_Oracle模块常见问题与解决方法
Feb 21 Python
Python数据结构之哈夫曼树定义与使用方法示例
Apr 22 Python
python3使用QQ邮箱发送邮件
May 20 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
May 23 Python
Python实现带下标索引的遍历操作示例
May 30 Python
解析Python3中的Import
Oct 13 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 Python
浅谈Python中range与Numpy中arange的比较
Mar 11 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缩略图生成程式(需要GD库支持)
2007/03/06 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
PHP自定义错误用法示例
2016/09/28 PHP
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
2016/06/12 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
JS通过位运算实现权限加解密
2018/08/14 Javascript
Async/Await替代Promise的6个理由
2019/06/15 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
centos系统升级python 2.7.3
2014/07/03 Python
简单使用Python自动生成文章
2014/12/25 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
C语言编程练习
2012/04/02 面试题
事业单位个人应聘自荐信
2013/09/21 职场文书
商务英语应届生自我鉴定
2013/12/08 职场文书
大学生入党思想汇报
2014/01/14 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
Springboot中如何自动转JSON输出
2022/06/16 Java/Android