python中的正则表达式的compile,match,search,sub的使用
compile只会从开头哦你匹配,如果不是开头的字符串,那么将不会匹配成功,而search可以匹配任意位置的字符串,会对整个匹配对象进行扫描,sub方法类似于字符串的replace方法,sub是对所有匹配到的内容进行替换,而不仅仅是替换第一个匹配到的对象。
<pre style="font-family: 宋体; font-size: 13.5pt; background-color: rgb(255, 255, 255);">
#-*- coding:utf-8 -*-
import re
str = 'python is my love'
a = re.compile('py')#compile只会从开头匹配,如果不是开头的字符串,那么将不会匹配成功
b = a.match(str)#指定被匹配的对象
print u'被匹配的对象:',b.string
print u'匹配上的字符串位置索引:',b.span()
print u'需要匹配的字符串:',b.group()
print '-------------------------------'
c = re.search('love',str)#search可以匹配任意位置的字符串,会对整个匹配对象进行扫描
print u'被匹配的对象:',c.string
print u'匹配上的字符串位置索引:',c.span()
print u'需要匹配的字符串:',c.group()
print '-------------------------------'
d = re.sub('love','world',str)#sub方法会对匹配到的内容进行替换(注意:是替换所有匹配到的内容),类似字符串的replace方法
print d
结果:
被匹配的对象: python is my love
匹配上的字符串位置索引: (0, 2)
需要匹配的字符串: py
-------------------------------
被匹配的对象: python is my love
匹配上的字符串位置索引: (13, 17)
需要匹配的字符串: love
-------------------------------
python is my world