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 实现插入排序算法
Jun 05 Python
python开发之tkinter实现图形随鼠标移动的方法
Nov 11 Python
Python实现代码统计工具(终极篇)
Jul 04 Python
对python中array.sum(axis=?)的用法介绍
Jun 28 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
python在新的图片窗口显示图片(图像)的方法
Jul 11 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
Apr 08 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
Apr 14 Python
Windows下Sqlmap环境安装教程详解
Aug 04 Python
python之基数排序的实现
Jul 26 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 基本语法格式
2009/12/15 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
Avengerls vs KG BO3 第二场2.18
2021/03/10 DOTA
JavaScript 动态生成方法的例子
2009/07/22 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
Python chardet库识别编码原理解析
2020/02/18 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
好家长事迹材料
2014/01/23 职场文书
职业生涯规划书范文
2014/03/10 职场文书
大型活动组织方案
2014/05/10 职场文书
2014年仓库工作总结
2014/11/20 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
邀请函的格式
2015/01/30 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
React实现动效弹窗组件
2021/06/21 Javascript
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server