标签:调用 指定 att 失败 find 正则表达式 == 转义 表示范围
>>> re.findall(r‘c\\l‘,‘abc\le‘) [‘c\\l‘] >>> re.findall(‘c\\\\l‘,‘abc\le‘) [‘c\\l‘] >>> re.findall(‘c\\\l‘,‘abc\le‘) [‘c\\l‘] >>>
>>> import re >>> res=re.findall(‘abc+‘,‘abcccccdvd‘) >>> print(res) [‘abccccc‘]
s="<div>yuan<img></div><a href=""></div>"
#
# ret=re.findall("<div>.*?</div>",s) # <div>yuan<img></div><a href=></div>
# print(ret)
# ret=re.search("<div>.*?</div>",s) # <div>yuan<img></div><a href=></div>
# print(ret)
几个常用的非贪婪匹配Pattern
*? 重复任意次,但尽可能少重复 +? 重复1次或更多次,但尽可能少重复 ?? 重复0次或1次,但尽可能少重复 {n,m}? 重复n到m次,但尽可能少重复 {n,}? 重复n次以上,但尽可能少重复
.*?的用法:
-------------------------------- . 是任意字符 * 是取 0 至 无限长度 ? 是非贪婪模式。 何在一起就是 取尽量少的任意字符,一般不会这么单独写,他大多用在: .*?a 就是取前面任意长度的字符,到底一个 a 出现
res=re.search(‘(?P<year>20\d{2})-(?P<mouth>[01]\d)‘,‘2014-08‘) >>> res.group(‘year‘) ‘2014‘ >>> res.group(‘mouth‘) ‘08‘
re.findall(pattern, str,flag)
obj=re.compile("\d+") ret=obj.findall("akhsd4325asdk43") # re.findall("\d+","") print(ret)
Re.finditer( ) 返回迭代器对象
# ret=re.finditer("\d+","dasfjk324khk4234kj234hkj234hkj234kj234k2j34hk2j3h4") # print(ret) # # print(next(ret).group())
标签:调用 指定 att 失败 find 正则表达式 == 转义 表示范围
原文地址:http://www.cnblogs.com/mona524/p/7085982.html