您的位置:首页 > 编程语言 > Python开发

python学习之正则表达式

2016-01-07 13:43 771 查看
python的re模块提供了有关正则表达式的方法。

常用方法与属性:

compile(pattern,flags=0) ---- 返回一个正则表达式对象,也就是说生成一个正则表达式模板,在多次使用同一个表达式的时候这个方法可以提高效率;

search(pattern,string,flags=0)-----返回一个match 对象;

match(pattern,string,flags=0)-----返回一个match对象;

    search与match的区别是:match是从string的第一个字符开始匹配,如若第一个字符串没有匹配到,则返回None。search是对string的任何位置进行匹配。

sub(pattern,repl,string, count=0, flags=0);pattern参数是正则表达式;repl参数是匹配之后所需要替换的,可以是字符串或者函数;string参数是目标字符串。

    -----返回的是一个新字符串;

subn(pattern,repl,string, count=0, flags=0) -----返回的是一个tuple(new_string,number_of_subs_mode);

purge() -----清除正则表达式缓存;

escape()-------对字符串中的非字母数字进行转义;

split(pattern,string,count=0,flags=0) ----根据pattern在string匹配,并在匹配处对string进行分割,返回的是一个list,list里面包含分割后的字符串集合;

====================================================================================

正则表达式对象(Regular Expression Objects)

一般通过re.compile(pattern)得到一个正则表达式对象;

常用方法:

search(string[,pos[,endpos]]) ----返回一个match对象。

m = re.match(r"(?P<first_name>\w+) (?P<last_name>\w+)", "Malcolm Reynolds")
m.groupdict()


View Code
start([group])

end([group])

email = "tony@tiremove_thisger.net"
m = re.search("remove_this", email)
email[:m.start()] + email[m.end():]


输出:'tony@tiger.net'

span([group])------返回一个tuple(起始,结束);

一般在写正则表达式的时候我们习惯 r'正则' ,省去了好多的转义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: