python的re模块应用实例

yipeiwu_com6年前Python基础

本文实例讲述了python的re模块应用。是非常重要的应用技巧。分享给大家供大家参考。

具体方法如下:

import re 
# 
match_object = re.match('foo','foo') 
if match_object is not None: 
  print type(match_object) 
  print match_object.group() 
 
# 
match_object = re.match('foo','fooabv') 
if match_object is not None: 
  print match_object.group() 
  
#match从头开始匹配   
match_object = re.match('foo','afooabv') 
if match_object is not None: 
  print match_object.group() 
else: 
  print 'not match' 
   
#利用面向对象的特点,一行完成 
print re.match('love','lovesomebody is a happy thing').group() 
 
#与match的区别:match从头开始匹配,search是查找 
match_object = re.search('foo','afooabv') 
if match_object is not None: 
  print match_object.group() 
else: 
  print 'not match' 
   
#|的使用 
bt = 'bat|bit|bot' 
match_object = re.match(bt,'batsdf') 
if match_object is not None: 
  print "|...|" + match_object.group()#会匹配成功 
else: 
  print 'not match' 
   
bt = 'bat|bit|bot' 
match_object = re.search(bt,'aabatsdf') 
if match_object is not None: 
  print "|search|" + match_object.group()#会匹配成功,如果用match就不会匹配成功 
else: 
  print 'not match' 

本文实例测试环境为Python2.7.6

运行结果如下:

<type '_sre.SRE_Match'>
foo
foo
not match
love
foo
|...|bat
|search|bat

希望本文所述对大家的Python程序设计有所帮助。

相关文章

对Python3 * 和 ** 运算符详解

在 Python 中,* 和 ** 具有语法多义性,具体来说是有四类用法。 1. 算数运算 * 代表乘法 ** 代表乘方 >>> 2 * 5 10 >>...

python3+PyQt5实现支持多线程的页面索引器应用程序

python3+PyQt5实现支持多线程的页面索引器应用程序

本文通过Python3+pyqt5实现了python Qt GUI 快速编程的19章的页面索引器应用程序例子。 /home/yrd/eric_workspace/chap19/walke...

Python闭包的两个注意事项(推荐)

什么是闭包? 简单说,闭包就是根据不同的配置信息得到不同的结果。 再来看看专业的解释:闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的...

python如何在列表、字典中筛选数据

python如何在列表、字典中筛选数据? 实际问题有哪些? 1.过滤掉列表[3,9,-1,10.-2......] 中负数 2.筛选出字典 {‘li_ming':90,'xiao_hon...

一个简单的python程序实例(通讯录)

核心代码: 复制代码 代码如下:#!/usr/bin/python#Filename:friendbook.pyimport cPickle as pimport sysimport t...