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之引用和类属性的初步理解
May 15 Python
Python字符串替换实例分析
May 11 Python
在Python web中实现验证码图片代码分享
Nov 09 Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
python如何读取bin文件并下发串口
Jul 05 Python
python加载自定义词典实例
Dec 06 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
Feb 29 Python
Django项目uwsgi+Nginx保姆级部署教程实现
Apr 19 Python
python 绘制正态曲线的示例
Sep 24 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
python文件与路径操作神器 pathlib
Apr 01 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
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
php简单分页类实现方法
2015/02/26 PHP
php调整服务器时间的方法
2015/04/03 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
orm获取关联表里的属性值
2016/04/17 PHP
apache php mysql开发环境安装教程
2016/07/28 PHP
用JS实现的一个include函数
2007/07/21 Javascript
Aptana调试javascript图解教程
2009/11/30 Javascript
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
Vue响应式原理详解
2017/04/18 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
[03:01]DOTA2英雄基础教程 露娜
2014/01/07 DOTA
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
Python补齐字符串长度的实例
2018/11/15 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
一道SQL存储过程面试题
2016/10/07 面试题
Java基础面试题
2014/07/19 面试题
servlet面试题
2012/08/20 面试题
应届生会计求职信
2013/11/11 职场文书
视光学专业自荐信
2014/06/24 职场文书
小学生读书笔记范文
2015/06/30 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL