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 中文乱码问题深入分析
Mar 13 Python
python正则分组的应用
Nov 10 Python
Python内置函数—vars的具体使用方法
Dec 04 Python
python3连接MySQL数据库实例详解
May 24 Python
使用python爬取B站千万级数据
Jun 08 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
python实现合并两个排序的链表
Mar 03 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
python配置文件写入过程详解
Oct 19 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
Mar 10 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
Apr 10 Python
Python insert() / append() 用法 Leetcode实战演示
Mar 31 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
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
PHP中路径问题的解决方案
2006/10/09 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
深入理解PHP内核(一)
2015/11/10 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
2013/11/25 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
微信小程序新闻网站详情页实例代码
2020/01/10 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
2020/04/09 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
python制作企业邮箱的爆破脚本
2016/10/05 Python
详解K-means算法在Python中的实现
2017/12/05 Python
python pandas修改列属性的方法详解
2018/06/09 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
python IDLE添加行号显示教程
2020/04/25 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
2021/01/07 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
珍珠奶茶店创业计划书
2014/01/11 职场文书
四查四看剖析材料
2014/02/14 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
作风转变年心得体会
2014/10/22 职场文书
2014年护士个人工作总结
2014/11/11 职场文书