正则表达式 非贪婪模式,python 贪婪模式

  正则表达式 非贪婪模式,python 贪婪模式

  大家好,我是皮皮。

  1.导读前几天Python最强王者交流群里一个叫【杰】的粉丝问了一个关于Python正则表达式的问题,涉及到Python正则表达式中的贪婪模式和非贪婪模式。讨论非常热烈。在这里,分享给大家,一起学习。

  二、求解过程在这里,分享一下大哥【小王】的回答。让我们看一看。这是他给出的一个示例代码。

  进口re

  txt=这是一个HTML标签:head HEADER /head。它意味着整个HTML文档的头部。

  模式1=重新编译(r 。* )

  模式2=重新编译(r 。*? )

  result1=re.findall(pattern1,txt)

  result2=re.findall(pattern2,txt)

  打印(结果1)

  打印输出结果(result2)如下图所示:

  对输出的分析如下:

  我想匹配HTML标签中的数据,也就是它们之间的数据。

  模式1=重新编译(r 。* )

  模式2=重新编译(r 。*? )两者只有一个区别?但差别很大。分析如下图所示:

  到什么时候才会停止?

  贪婪的模式就是这样匹配的。非贪婪模式呢?

  小彩蛋分享一个【小王】大哥的代码,效果是把正则匹配结果写成命名组Python代码。

  大致写法如下:

  进口re

  txt=这是一个HTML标签:head HEADER /head。它意味着整个HTML文档的头部。

  tag=re.compile(r ([A-Za-z0-9])。*?/\1 .*)

  Print(re.findall(tag,txt))被写成一个命名分组,如下所示:

  txt=这是一个HTML标签:head HEADER /head。它意味着整个HTML文档的头部。

  tag=re.compile(r (?P tag_mark [A-Za-z0-9])。*?/(?P=tag_mark)。*)

  Print(re.findall(tag,txt))摘要大家好,我是皮皮。本文以粉丝提问为基础,针对Python正则表达式中的贪婪和非贪婪模式,给出了具体的讲解和演示,成功帮助粉丝解决了问题。

  最后感谢粉丝[杰]的提问,大哥[小王]的回答和举例,大哥[(这是月球背面)],[dcpeng],[Chlo p.]等人参与学习交流。

  小伙伴们,赶紧练起来吧!如果你在学习过程中遇到了什么问题,请加我为好友,我会拉你进Python学习交流群,一起讨论学习。

  原创作品来自的Python高级博主,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: