码迷,mamicode.com
首页 > 其他好文 > 详细

match、search、sub、findall、compile区别

时间:2014-07-29 10:27:38      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:style   使用   os   ar   line   table   不同的   网络   

摘自网络,综合自己的理解:

 

函数名 原型 详解 返回类型 注意事项
re.match import re
re.match(pattern,string,flags)
pattern:正则表达式,匹配成功,返回一个Match,否则返回一个None
string:要匹配的字符串
flags:标志位,用于控制正则表达式的匹配方式,如是否区分大小写,多行匹配等等
返回一个_sre.SRE_Match对象,其有两个方法:group()
groups()
他只会去从字符串的开始与正则表达式做匹配;
并不会与字符串的所有字符进行匹配
re.search re.search(pattern,string,flags) 与match一模一样,唯一区别:
他会去匹配整个字符串,而match只会去匹配字符串的开始
groups():返回一个元组:(group(1),group(2)...)不包括group(0)
group():默认返回group(0)
对于一个string,无论其中有多少个被匹配上的字符串,他永远只返回第一个匹配上的字符串
re.sub re.sub(pattern,repl,string,count) pattern:正则表达式
repl:替换后的字符
string:要匹配的字符串
count:替换的个数,0代表所有
返回替换后的string  
re.findall re.findall(pattern,string,flag) pattern:正则表达式
string:要匹配的字符串
flag:标志位
总是返回一个list,如果未匹配到任何,则返回一个空list 与match和search不同的是:他会将一个字符串中所有的匹配到的目标均返回至列表中
re.compile re.compile(pattern,flag) flag:编译标识:
I  IGNORECASE  忽略大小写
M  MULTILINE  多行匹配 针对于^和$使用
S  DOTALL  .号将匹配所有字符
X  VERBOSE  将忽略规则表达式中的空白,若需要使用则需\+空白,同时允许使用‘#‘在规则表达式中作注释说明
flag使用方法:如,re.MULTILINE
多个flag可以使用‘|‘来分隔
对规格表达式进行预编译,返回一个pattern对象,可以使用这个pattern对象调用match和search等方法 这种方式对于需要做大量相同匹配的正则表达式可以大大提高效率

match、search、sub、findall、compile区别,布布扣,bubuko.com

match、search、sub、findall、compile区别

标签:style   使用   os   ar   line   table   不同的   网络   

原文地址:http://www.cnblogs.com/smile-zhou/p/3873684.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!