正则表达笔记

2016-12-07  本文已影响6人  Eric_Zeng

#加载正则表示(regular expression)式,python的正则表达式引擎是用c语言写的,效率极高

import re

#编译正则表达式,正则表达式呗编译为模式对象,该对象拥有各种方法来操作字符串

p = re.compile(r'[a-z]+')

#加上r的意思是采用原始字符创来表达正则表达式,避免不必要的反斜杠麻烦,因为正则表达式使用'\\'表示匹配字符'\'

print('p is:',p)

m = p.match('fishc')

print("if m = p.match('fishc')\nthen m:",m)

print('m.group() is :',m.group())

print('m.start() is :',m.start())

print('m.end() is :',m.end())

print('m.span() is :',m.span())

print('注意!match()只检查正则表达式是否在字符串的起始位置,所以start()总是返回0,建议可以使用search()')

#match()只检查正则表达式是否在字符串的起始位置,所以start()总是返回0

print("p.match('>__

print("p.search('>__

##match()和search()都是返回第一个匹配结果,要查找所有匹配结果则用findall()

p = re.compile('\d+')

print('p is:',p)

k = p.findall('3只小甲鱼,15条腿,多出的3条在哪里?')

print("p.findall('3只小甲鱼,15条腿,多出的3条在哪里?'):",k)

##finditer()是将匹配对象作为一个迭代器返回

iterator = p.finditer('3只小甲鱼,15条腿,还有3条去了哪里?')

print('p.finditer()则生成迭代器')

for match in iterator:

     print('match.span()',match.span())

上一篇下一篇

猜你喜欢

热点阅读