[00107]最短匹配模式

2017-01-13 19:13:49来源:CSDN作者:ab_xue人点击

第七城市

最短匹配模式

一、 解决问题

用正则表达式匹配某个文本模式,但是它找到的是模式的最长可能匹配。 而
你想修改它变成查找最短的可能匹配。

二、解决方案

re ? 非贪婪匹配

三、代码说明

问题

import restr_pat = re.compile(r'/"(.*)/"')text1 = 'Computer says "no."'resval = str_pat.findall(text1)print(resval) #->['no.']text2 = 'Computer says "no." Phone says "yes."'resval = str_pat.findall(text2) print(resval) #->['no." Phone says "yes.']
"""非贪婪模式:    可以在模式中的*|+操作符后面加上?修饰"""str_pat_small = re.compile(r'/"(.*?)/"')text2 = 'Computer says "no." Phone says "yes."'resval = str_pat_small.findall(text2) print(resval) #->['no.', 'yes.']

四、关联知识

re 模块 传送门,待补充

五、总结

六、代码地址

github地址:https://github.com/weichen666/python_cookbook
目录/文件:first_selection/learn_str_smallmatch.py

七、参考

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台