python中的re模块学习笔记

时间:2021-08-20 22:38:09

英文原址:https://docs.python.org/2/howto/regex.html#introduction 

1、首先将re表达式进行编译的到一个对象 p = re.compile('...') 
p = re.compile('[a-z]+') 
对象p的方法主要有:
match() 从开头开始匹配
search() 从任意字符开始匹配
findall() 找到所有匹配的字串,并用列表返回
finditer() 找到所有匹配的字串,返回一个iterater。


2、p.match()从开头开始匹配  若匹配则返回一个对象 该对象有四个关键的方法
group()
start() 总是0
end()
span()


3、p.search() 从任意字符开始匹配


实际编程中,常用到的形式:
p = re.compile(...)
m = p.match('string goes here')
if m:
print 'match found:',m.group()
else:
print 'No match'



4、 p.findall 
>>> p = re.compile('\d+')
>>> p.findall('12 drummers drumming, 11 pipers piping, 10 lords a-leaping')
['12', '11', '10']


5、 p.finditer
>>> iterator = p.finditer('12 drummers drumming, 11 ... 10 ...')
>>> iterator  
<callable-iterator object at 0x...>
>>> for match in iterator:
...     print match.span()
...
(0, 2)
(22, 24)
(29, 31)