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

正则表达式匹配模式分为贪婪非贪婪两种。这两种模式是影响存在限定词修饰的子表达式的匹配行为。

贪婪模式:是一次尽可能多的匹配结果集,直白的说就是匹配最长的符合表达式的串。
非贪婪模式:是一次匹配最短的符合表达式的串,如果有多个满足则匹配出多个

限定词包括:

{m,}, {m,n} ? * +
* 零次或多次
+ 一次或多次
? 零次或一次

举个例子:

字符串:aaababcab,要求匹配出axxb格式的字符串

/a.*b/,会匹配出整个字符串,即是采用贪婪匹配模式;
/a.*?b/,匹配结果为aab, ab, ab,如果要使用非贪婪匹配模式, 在限定词后加?,会转为非贪婪模式,

两种模式的使用根据需求确定。
比如:如果要判断一个字符串是不是数字串,可以使用贪婪模式匹配,
如果要获取多个子串,就使用非贪婪模式。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值