- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
08-Regular_Expression剖析
re.M import re print re.match(^\d+$, 123\n 234\n) None print re.match(^\d+$, 123\n 234\n, re.M).group() [123] Python 正则表达式 * 找到一个结果search re.search和re.match参数相同 re.search函数会在字符串内查找模式匹配,直到找到第一个匹配然后返回,如果字符串没有匹配,则返回None。 re.match与re.search的区别:re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None; 而re.search匹配整个字符串,直到找到一个匹配。 * Python 正则表达式 如何得到返回结果 rst = re.match() rst = re.search() 找到的起始位置 rst.start() 找到的结束位置rst.end() 找到的区间 rst.span () 找到的组 rst.group () * Python 正则表达式 例子 import re text = JGood is a handsome boy, he is cool, clever, and so on... m = re.search(\s(\w+)\s, text) if m: print m.group(1), m.start(), m.end(), m.span(),\n else: print not match m = re.match(\s(\w+)\s, text) print m is 5 9 (5, 9) None * Python 正则表达式 找到所有结果 re.findall re.findall可以获取字符串中所有匹配的字符串,返回一个列表 如:re.findall(\w*oo\w*, text);获取字符串中,包含oo的所有单词。 re.finditer re.finditer可以获取字符串中所有匹配的字符串,返回一个迭代器 如:re.finditer(‘\w*oo\w*’, text);返回一个迭代器。 * Python 正则表达式 例子 import re s= 12 drummers drumming, 11 pipers piping, 10 lords a-leaping‘ l = re.findall (\s+\d+, s) print l [ 11, 10] * Python 正则表达式 例子 import re s= 12 drummers drumming, 11 pipers piping, 10 lords a-leaping‘ iter = re.finditer(\s+\d+, s) for i in iter: print i.group(), i.span() 11 (21, 24) 10 (39, 42) * Python 正则表达式 re.M import re print re.findall(\s\d+$, I love 123\n Do you love 234\n) [ 234] print re.findall(\s\d+$, I love 123\n Do you love 234\n, re.M) [ 123, 234] Python 正则表达式 * 分组 匹配感兴趣的部分并将其分成几个小组 m?=?re.match((a(b)c)d’, abcd)m.group(0)abcd‘ m.group(1)abc‘ m.group(2)b * Python 正则表达式 命名分组 m = re.search(r(?Pworda.*?b)(ab), aabab) m.group(word) aab m.group(1) aab m.group(2) ab * Python 正则表达式 贪婪 vs 不贪婪 s = htmlheadtitleTitle/title print re.match(.*, s).span() (0, 32) print re.match(.*, s).group() htmlheadtitleTitle/title print re.match(.*?, s).span() (0,6) print re.match(.*?, s).group() html * Python 正则表达式 编译为对象compile pile 把正则表达式编译成一个正则表达式对象。 compile(pattern, [flags]) 根据正则表达式字符串 pattern 和可选的flags 生成正
文档评论(0)