浅谈php正则表达式中的非贪婪模式匹配的使用

yipeiwu_com6年前PHP代码库

通常我们会这么写:

复制代码 代码如下:

$str = "http://www.baidu/.com?url=www.sina.com/";
preg_match("/http:(.*)com/", $str, $matches);
print_r($matches);

结果:

复制代码 代码如下:

Array ( [0] => http://www.baidu/.com?url=www.sina.com [1] => //www.baidu/.com?url=www.sina. )

非贪婪模式匹配:

复制代码 代码如下:

$str = "http://www.baidu/.com?url=www.sina.com/";
preg_match("/http:(.*?)com/", $str, $matches);
print_r($matches);

结果:

复制代码 代码如下:

Array ( [0] => http://www.baidu/.com [1] => //www.baidu/. )

简单的说只要在一个字符后面跟上限定个数的特殊字符,匹配就是非贪婪模式了。小伙伴们是否理解了呢?

相关文章

php中__toString()方法用法示例

本文实例讲述了php中__toString()方法。分享给大家供大家参考,具体如下: 我们前面说过在类里面声明“--”开始的方法名的方法,都是在某一时刻不同情况下自动调用执行的方法。“_...

php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)

微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中。 内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI <...

php dirname(__FILE__) 获取当前文件的绝对路径

PHP 常量 dirname(__file__) __FILE__ :被称为PHP魔术常量 ,返回当前执行PHP脚本的完整路径和文件名,包含一个绝对路径 1)dirname(__FILE...

PHP正则替换函数preg_replace和preg_replace_callback使用总结

在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换)。 详情介...

深入理解PHP原理之异常机制

深入理解PHP原理之异常机制

PHP的异常机制的原理是什么? 在PHP每一个可独立执行的op array最后的ZEND_HANDLE_EXCEPTION是用来干什么呢? 让我们从一个问题说起, 上周的时候, blue...