python search match,match和search函数
Python里面search()和match()的区别
match()函数只检测字符串开头是否匹配,如果匹配成功则返回结果;否则,它返回None。
进口
打印(重新匹配( func ,函数))
#打印结果_sre。SRE _ match object;span=(0,4),match=func
打印(重新匹配( func ,函数)。span())
#打印结果(0,4)
打印(重新匹配(函数1 ,函数))
#打印结果无注:打印(re。match (func1 , function )。span())将报告一个错误,因为无法获得span。
相关:《Python教程》
search()函数将在整个字符串中搜索模式匹配,直到找到第一个匹配,然后返回一个包含匹配信息的对象。这个对象可以通过调用group()方法获得匹配的字符串,如果字符串不匹配,将返回None。
进口
打印(搜索(选项,函数))
#打印结果_sre。SRE _ match object;span=(4,8),匹配
打印(搜索(选项,功能)。span())
#打印结果(4,8)
打印(搜索(选项1 ,函数))
#打印结果无注:打印(re。搜索( tion1 ,函数)。span())将报告一个错误,因为它无法获取选项1。
re模块下的其他常用方法
进口
打印(回复findall (a , aaaabac )#返回所有符合匹配条件的结果并放入列表中。
#[a , a , a , a , a]
打印(回复split ([AB], Abcd )#先用 A 拆分得到和 bcd ,再用 B 分别拆分得到和 bcd 。
#[, , cd]
ret=re sub( d , h , eva3egon4yuan4 ,1) #用 h 替换数字,参数1表示只替换一个。
打印(ret)# evahegon 4元4
Ret=re.subn ( d , h , eva3egon4yuan4) #用 h 替换数字并返回元组(替换的结果,替换了多少次)
打印(ret)
Obj=re.pile ( d {3}) #将正则表达式编译成正则表达式对象,规则要匹配三个数。
Ret=obj.search(abc123eeee)#正则表达式对象调用search,参数是要匹配的字符串。
Print(ret.group())#结果:123
进口
Ret=re。Finder ( d , ds3sy4784a) # Finder返回保存匹配结果的迭代器。
print(ret)# callable _ iteratorobjectat0x 10195 f 940
打印(下一页(返回)。group())#查看第一个结果
打印(下一页(返回)。group())#查看第二个结果
Print([i.group()foriinret])#检查剩下的左右结果注意:
findall的1优先级查询:
进口
ret=re.findall(www。(百度jd)。com , www.jd.com )
Print(ret)#[jd]这是因为findall会优先返回匹配结果组的内容。如果想匹配结果,取消权限即可。
ret=re.findall(www。(?百度jd)。com , www.jd.com )
Print (ret) # [www.jd.com] 2优先查询的拆分
ret=re.split(d , eva3egon4yuan )
Print(ret)# Result: [eva , egon , yuan]
ret=re.split((d , eva3egon4yuan )
Print(ret)#结果:[eva , 3 , egon , 4 , yuan]
#将()添加到匹配部分后剪切出的结果不同,
#没有()的不会保留匹配的项目,但有()的可以保留匹配的项目,
#这在一些需要保持匹配的零件的使用中非常重要。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。