这篇文章给大家分享的是有关python正则表达式如何实现最小匹配的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
最小匹配
格式:
量词?
注:量词有{n,m}、?、+、*
用处:
在字符串中查找符合正则表达式规则的最短子字符串。
案例:
现有字符串num = ”10-3*(20-10+(-10/5)27/3/3-(-100)/(10-35))",要提取括号中的内容。
import renum = '10-3*(20-10+(-10/5)*27/3/3-(-100)/(10-3*5))+(-5*-6)'num2 = re.findall('\(.+?\)', num)num3 = re.findall('\(.+\)', num)print(num2)print(num3)out:['(20-10+(-10/5)', '(-100)', '(10-3*5)']['(20-10+(-10/5)*27/3/3-(-100)/(10-3*5))']
上述代码中num2使用了最小匹配,而num3使用了默认的最大匹配。
请注意num2的正则表达式:
.表示匹配除了换行符之外的所有字符
+表示一个或多个
?表示最小匹配,匹配后面第一个)即返回结果。若没有这个?会匹配到最后一个)才返回结果。
感谢各位的阅读!关于“python正则表达式如何实现最小匹配”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!