正则表达式在python中的应用

原创 2006年06月05日 18:14:00

在python处理文本时,采用正则表达式替换,可以方便很多。主要用到 re 模块。

1、一个简单的文本替换例子:

import re
msg=file("test.htm","r+").read()
pattern = '<[^>]*?>'
rpl = ''
msg = re.sub(pattern,rpl,msg)

以上代码过滤掉一个html文件中的所有标记信息(<>中的内容),只保留文本信息

2、(?P<name>[0-9]{1}) 和/g<name>:

pattern = """<img src="/././/images//[a-b]{1}(?P<name>[0-9]{1})/.gif" width="/d+" height="/d+">"""
rpl = """image_/g<name>"""
msg = re.sub(pattern,rpl,msg)

在pattern中使用(?P<name>)匹配搜索内容,然后在rpl中采用 /g<name> 来代表原文中的内容,这样可以达到一些比较特殊的用途,比如重新安排显示格式等。如下例转换日期格式:

import re
msg = "03/24/2004" # convert to 2004-03-24
print msg

pattern = """(?P<month>/d{1,2})/(?P<day>/d{1,2})/(?P<year>/d{2,4})"""
rpl = """/g<year>-/g<month>-/g<day>"""

msg = re.sub(pattern,rpl,msg)

print msg

参考资料:

【PDF】搜集整理:wwwit586com:一个pdf格式的详细介绍

正则表达式校验工具 - 我爱啦查询 :可以马上看到正则表达式可以马上看到替换结果

什么是正则表达式?在JavaScript中,如何应用正则表达式?

正则表达式(Regular Expression) 本身就是一个字符串,由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则的表达式。正则表达式常用于在一段文本中搜索、匹配或替换特定形式的文本。...
  • u012396955
  • u012396955
  • 2016年12月29日 17:09
  • 368

python--正则表达式应用

正则对一个简单爬虫程序的改进一个爬虫程序 这是一个提取网页源代码中以.jpg结尾的图片引用,并将其下载的python小程序#!/usr/bin/env python # -*- coding: ut...
  • damant
  • damant
  • 2015年08月13日 15:07
  • 937

python requests 和正则表达式提取贴吧图片

通过requests的get方法得到对应url 的页面,然后直接使用re 的正则表达式来查找对应的图片的地址,最后将图片保存在本地。 新手,有很多不好的地方,欢迎交流import requests ...
  • zhuanshunzhe
  • zhuanshunzhe
  • 2017年09月13日 15:17
  • 119

Python-同时匹配邮箱和电话号码的正则表达式

同时匹配邮箱和电话号码的正则表达式 要想很完美的匹配,不太简单。 各邮箱提供商的标准都多少有些许差别。如: 163:6-18个字符,可使用字母、数字、下划线,需以字母开头。 gmail:...
  • wdt3385
  • wdt3385
  • 2013年04月03日 13:24
  • 1711

Python 正则表达式的应用(十二)

(一)正则表达式概述 1.定义 正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。在 需要通过正则...
  • weixin_36279318
  • weixin_36279318
  • 2018年01月22日 21:05
  • 51

在Android使用正则表达式

在c#中上一次已经使用了正则表达式,掌握了一些基本要领,那么在android里面也是相似的处理方法,在这里我是为了处理android读取service的解析所用到,读取“string=....;”省略...
  • u010499087
  • u010499087
  • 2014年05月13日 15:23
  • 1815

Python正则表达式:如何使用正则表达式

正则表达式(简称RE)本质上可以看作一个小的、高度专业化的编程语言,在Python中可以通过re模块使用它。使用正则表达式,你需要为想要匹配的字符串集合指定一套规则,字符串集合可以包含英文句子、e-m...
  • liuy_98_1001
  • liuy_98_1001
  • 2015年06月08日 18:22
  • 3501

在newLISP中使用正则表达式 二

反斜线(元字符之一)因为元字符是特殊字符,正常使用时不会被作为普通字符用来搜索,而是使用其特殊含义,比如一对方括号表示字符集合。但是如果想对元字符本身进行搜索,就需要转义。比如> (regex "\...
  • sheismylife
  • sheismylife
  • 2013年11月18日 17:53
  • 2865

正则表达式运用到JSP页面(使用在input 标签内)

 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,)" 用正则表达式限制只能输入全角字符: onkeyup="value...
  • fatOwen
  • fatOwen
  • 2009年11月07日 10:50
  • 3098

正则表达式 在爬虫中的应用

(.+?)
  • u014330807
  • u014330807
  • 2014年08月06日 17:13
  • 1696
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:正则表达式在python中的应用
举报原因:
原因补充:

(最多只允许输入30个字)