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正则表达式中group

(一)正则表达式中的(…)  用于匹配括号内的任何正则表达式,并且指明组的开始和结束位置;可以在执行匹配之后检索组中的内容,并且可以在可以在字符串中使用\number来进行进一步的匹配,如下所述。当需...
  • jeryjeryjery
  • jeryjeryjery
  • 2017年08月15日 16:24
  • 535

Python通过正则表达式和字符串处理获取方式获取所需子字符串的方式

本文主要讲述如何从字符串中获取我们所需的子字符串,通常在我们编写爬虫软件时,我们需要找到url的规律 并获取到有用的字符串串,再去做进一步的处理,此文主要讲述正则表达式和字符串处理的方式...
  • hanchaobiao
  • hanchaobiao
  • 2017年06月14日 15:51
  • 3708

python正则表达式系列(1)——正则元字符

本文主要介绍python中正则表达式的基本用法,做一个初步的认识。
  • dnxbjyj
  • dnxbjyj
  • 2017年04月22日 07:49
  • 508

python正则表达式扩展符号扩展和一些训练小mark

关于正则式的简要介绍: http://blog.csdn.net/oliverkingli/article/details/78989505 1.扩展符号 2.一些正则式训练...
  • OliverkingLi
  • OliverkingLi
  • 2018年01月06日 19:40
  • 158

Python中正则表达式的匹配规则

下面是Python中正则表达式的一些匹配规则,图片资料来自CSDN:
  • qq_32616315
  • qq_32616315
  • 2017年10月09日 22:54
  • 117

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

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

python正则表达式实用例子

基础不提了,实际当中所遇到的问题需要解决才有意义。 1,匹配整个单词(单词边界):\bcat \b 2,匹配数字:\b\d+\b   \b\d+?\b   改进后:\b\d++\b 3,匹配HT...
  • epicure
  • epicure
  • 2016年12月18日 20:32
  • 599

Python 正则表达式提取Windows路径中文件名

1. Regular Expression [^\\/:*?"|\r\n]+$ eg. c:\foler\file.ext Extract: file.ext 2. Python Code im...
  • guaguastd
  • guaguastd
  • 2014年11月13日 09:50
  • 1706

python使用正则表达式解析http url

正则表达式解析http
  • fallinlovelj
  • fallinlovelj
  • 2016年09月22日 17:07
  • 2502

python爬虫之re正则表达式库

python之正则表达式re库正则表达式是用来简洁表达一组字符串的表达式,编译:将符合正则表达式语法的字符串转换成正则表达式特征操作符 说明 实...
  • qq_22186119
  • qq_22186119
  • 2017年06月14日 21:20
  • 595
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python中的正则表达式
举报原因:
原因补充:

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