php正则的“量”与“次”

本文深入探讨了正则表达式的贪婪与懒惰匹配模式,包括如何在匹配字符串时采取不同策略,以及如何通过添加问号?实现懒惰匹配以获取更短的匹配结果。同时,介绍了贪婪匹配默认行为及全局查找搜索的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两个概念总在混淆,一个是量,一次匹配多少,一个是次,匹配成功后还继续匹配不。。。。。

通常所讲的贪婪模式,懒惰模式都是在讲“量”,即一次匹配多少个。。。

    (1)量

    贪婪模式:a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配(默认情况下就是贪婪匹配)。

     懒惰模式:如果需要懒惰匹配,也就是匹配尽可能少的字符,可转化为懒惰匹配模式,只要在它后面加上一个问号?。这样.*?就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。如a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab(第一到第三个字符)ab(第四到第五个字符)

        (2)次

           注意,以上先匹配到了aab,还需要不需要继续匹配下去(后一次匹配到ab),这就是“次”的问题啦。。于是要看有没//g,有没这个g符号,有的话就是全局查找搜索,没有的话匹配一次成功就拉倒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值