python中的正则表达式

原创 2015年07月09日 10:29:03

先来正则表达式的一张图:

 

python中使用re模块来使用正则表达式:import re。

第一种方法:

先创建匹配规则RE,利用re中compile:r1 = re.compile('一个正则表达式'),如r1 = re.compile('abc') 用来匹配abc字符的规则。

然后使用创建的规则去作用于字符串:可以选择match,findall,search,finditer方法。

方法/属性 作用
match() 决定 RE 是否在字符串刚开始的位置匹配
search() 扫描字符串,找到这个 RE 匹配的位置
findall() 找到 RE 匹配的所有子串,并把它们作为一个列表返回
finditer() 找到 RE 匹配的所有子串,并把它们作为一个迭代器返回

如:r1.match('abcabca'),将返回一个MatchObject的实例,r1.match('bcabca'),将返回空none,因为字符串开始位置不匹配abc。

r1.search('cccabcac') 将返回一个MatchObject的实例 。

MatchObject的实例可以使用的方法有:group,start,end,span 

方法/属性 作用
group() 返回被 RE 匹配的字符串
start() 返回匹配开始的位置
end() 返回匹配结束的位置
span() 返回一个元组包含匹配 (开始,结束) 的位置 

m1 = r1.match('abcabca'),那么m1.group()返回abc,m1.start()返回0(abc开始的位置).


第二种方法:

直接用re使用match,findall,search,finditer方法。带上正则表达式和字符串参数。

re.match('正则表达式',‘字符串’)。如:

re.findall('aba','ababababa'), 返回2个aba的列表,匹配时一个字符只使用一次。

正则表达式的使用:

在表达正则表达式时,经常会有反斜杠\,但是不是代表转义,因此在写正则表达式时在表达式字符串前面加r,如r‘\d’

re.findall(r'\d','s12d3f4as') 将返回['1','2','3','4']


相关文章推荐

Python正则表达式指南.pdf

  • 2017年11月10日 16:29
  • 940KB
  • 下载

python 正则表达式

原文地址: http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html 什么是正则表达式 正则表达式是可以匹配文本片段的模式。最简...

python正则表达式

  • 2017年05月16日 16:06
  • 6.87MB
  • 下载

python3.5——爬虫实现批量下载图片(正则表达式法和BeautifulSoup第三方库法)

先来例程: 正则表达式法:(不推荐) # -*- coding: utf-8 -*- """ Created on Thu Jun 1 16:22:10 2017 @author: qiu...
  • sqiu_11
  • sqiu_11
  • 2017年06月04日 23:15
  • 1051

Python for Bioinformatics 9正则表达式

  • 2013年03月23日 21:53
  • 306KB
  • 下载

Python:正则表达式模块

1. 模式语法 . #匹配任意除"\n"之外的字符 \ #转义字符 [...] #字符集,形式诸如[abc]、[a-c]、[^abc],对应的位置可以是字符集中任意字符 2. ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python中的正则表达式
举报原因:
原因补充:

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