[00107]最短匹配模式

来源:互联网 发布:c语言的秘密 汇编级 编辑:程序博客网 时间:2024/06/06 03:13

最短匹配模式

一、 解决问题

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

二、解决方案

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

七、参考

0 0
原创粉丝点击