Python 正则表达式

在Python提供了正则表达式的模块re,这里针对re模块进行一个小总结

1.re.match

匹配字符串的开头,如果匹配成功,就会返回match 对象,使用group接受打印

test ="qilixiang=jay&shuangjiegun=jay&wanku=panweibo"
m = re.match(r"\w+=\w+&",test)

if m:
    print 're.match:',m.group(0)
else:
    print '没有匹配到!'

输出结果:re.match: qilixiang=jay&


2.re.search

匹配整个字符串,直到匹配成功,返回一个match,却别re.match

test ="qilixiang=jay&shuangjiegun=jay&wanku=panweibo"
m = re.search(r"\w+=\w+&",test)

if m:
    print "re.search:",m.group(0)
else:
    print '没有匹配到!'

输出结果:re.search: qilixiang=jay&


3.re.findall

匹配所有的字符,如果又符合的返回所有匹配到的,并且返回一个list

test ="qilixiang=jay&shuangjiegun=jay&wanku=panweibo"
m = re.findall(r"\w+=\w+&",test)
print "re.findall:",m

输出结果:re.findall: [‘qilixiang=jay&’, ‘shuangjiegun=jay&’]


4.re.sub

通过正则,匹配进行替换

test ="qilixiang=jay&shuangjiegun=jay&wanku=panweibo"
m = re.sub(r"\w+=\w+&",'%',test,1)
print "re.sub:",m

输出结果:re.sub: %shuangjiegun=jay&wanku=panweibo


5.re.split

根据正则表达式,对字符串进行分割,结果返回一个list

test ="qilixiang=jay&shuangjiegun=jay&wanku=panweibo"
m = re.split(r"&+",test)
print "re.split:",m

输出结果:re.split: [‘qilixiang=jay’, ‘shuangjiegun=jay’, ‘wanku=panweibo’]


6.re.compile

对正则表达式,进行编译,生成新的正则表达式,并且可以设定正则的规则

test ="qilixiang=jay&shuangjiegun=jay&wanku=panweibo"
res = re.compile(r"\w+=\w+&")
m = res.findall(test)
print "compile  re.findall:",m

输出结果:compile re.findall: [‘qilixiang=jay&’, ‘shuangjiegun=jay&’]


关于正则表达式的讲解参考网图:

这里写图片描述

posted @ 2015-10-23 18:35  卡尔西  阅读(166)  评论(0编辑  收藏  举报
AmazingCounters.com