当前位置:首页 > 日记 > 正文

PHP正则表达式中的贪婪与非贪婪

PHP正则表达式中的贪婪与非贪婪
一、贪婪与非贪婪

所谓贪婪,比如说,一到两个从一条面包面包到吃面包,你只能吃面包,但是你贪婪,所以先把两个面包放在里面,你要吃,而不是贪婪,你什么都不吃,只吃一个面包。

让我们看看规范是贪婪的。
< PHP
面包=面包两个;
preg_match( / /(。*);
print_r(合物);
结果uff1a

阵列



{ 0面包面包

{ 1面包面包



0个记录是整个字符,1个是第一个匹配。

你如何限制贪婪
< PHP
面包=面包两个;
preg_match( / /(。*);
print_r(合物);
阵列

{ 0 }面包
{ 1 }面包

用一个特殊的符号来修改匹配的数量,添加一个 ,这可以使不确定匹配的表达式尽可能小。

在PHP中,它也可以通过修饰符实现。
< PHP
面包=面包两个;
preg_match( /(。*);
print_r(合物);
结果和上面的一样,这是修饰符u的作用。

两。预搜索

预搜索是一种非访问匹配,不存储以供将来使用。

1。正向搜索(= xxxxx)

(= xxxxx):右侧的空当,你必须能够匹配的xxxxx部分的表达。
< PHP
$str = 'windows NT、Windows 2003、Windows XP的;
preg_match( /窗口(= XP),$str,$ RES);
print_r(合物);
结果uff1a

阵列



{ Windows 0



这是XP前面的窗口,它不接受NT和2003前面。

格式:!xxxxx)
< PHP
$str = 'windows NT、Windows 2003、Windows XP的;
preg_match_all( / Windows(XP!),$ STR,$ RES);
print_r(合物);
结果uff1a

阵列



{ 0 }数组



{ 0 } Windows。

{ 1 }窗口>这是前面的2003个





正如您从这里看到的,预搜索不存储以供以后使用。

与参与者的存储相比。
< PHP
$str = 'windows NT、Windows 2003、Windows XP的;
preg_match_all( / Windows(XP } { ^),$str,$ RES);
print_r(合物);
结果uff1a

阵列



数组,{ 0 } =数组所有模型



{ 0 } Windows n

{ Windows 2 1



一组字符串匹配{ 1 }数组子模式组合,由存储构成。



{ 0 } > n

{ 1 } = 2





2。反向预搜索(<= xxxxx)

(< = xxxxx)缺口的左侧可以匹配xxxxx部分。
< PHP
$str = '1234567890123456;
(preg_match /(<= D { 4 }) D +(= D { 4 }),$str,$ RES);
print_r(合物);
结果uff1a

阵列



{ 0 } = 56789012



匹配前4个数和下4个数以外的中间8个数。

(< <!Xxxxx): the left side of the gap does not match the XXXX part.

< PHP
$ =我1234567890123456;
preg_match( /(<!i、$、$、$;
print_r(合物);
结果uff1a

阵列



{ 0 } = 234567890123456


之间的区别三,妊娠和ereg
PHP也使用两套正则表达式,由电气和电子工程师协会(IEEE)开发了一套由POSIX扩展1003.2兼容的正则(事实上这一标准的PHP支持的不完善),另一组由PCRE(Perl兼容正则表达式)库提供Perl兼容正则。PHP5.3开始删除POSIX。

preg_match比ereg更有效。

相关文章

对Oracle或07445evaopn2溶液()+128的

对Oracle或07445evaopn2溶液()+128的

误差,溶液,电脑软件,Oracle,问题描述 PLSQL Developer执行一段SQL错误: 警报记录错误信息的详细信息: ora-07445:例外遇到:核心转储{ evaopn2(+ 128 }){ } { SIGSEGV地址没有映射到对象0x000000000 } { } { } { } 数据库版本 10.2.0.4.0 问题…

告别PS图象处理软件假死现象

告别PS图象处理软件假死现象

假死,图象,处理软件,现象,电脑软件,当我们使用PS图象处理软件CS3 / 4中文版,使用文本层时,经常出现CPU占用100%的情况,系统的提出了假死的状态,如何解决这个问题只需要执行菜单RARR;偏好;打开选项窗口,切换到文本下的删除;;,显示字体选择;亚洲;和字体预…

加强MySQL安全的几点建议

加强MySQL安全的几点建议

几点建议,电脑软件,MySQL,通常我们使用的密码,当我们连接到MySQL服务器。密码是稠密的时候是在网络上传输,但所有其他的内容以明文方式传输。 当然,如果我们关心的是这种不安全感,我们可以使用压缩协议(mysql3.22及以上版本),因此,其他内容不能轻…

Javascript操作符语法的全面概述

Javascript操作符语法的全面概述

语法,操作符,电脑软件,Javascript,在前面的话 Javascript操作大部分的标点符号,少数由关键字表示语法的简洁和全面的数字是真的很多。经营者总是遵循一些固定的语法,只有理解和掌握的内容可以操作被正确使用。本文将介绍Javascript运算符语法概要 操作…

如何photoshopcs5修改背景颜色的入

如何photoshopcs5修改背景颜色的入

修改,背景颜色,入门教程,电脑软件,在PS中,我们有时会看到背景颜色如何变化如何改变以下小编告诉你如何修改背景颜色photoshopcs5,一起学习。 photoshopcs5方法修改背景颜色: 1、启动PS图象处理软件CS5; 2,展开轮流;编辑-首选;点击界面;; 3,下一个…

PS图象处理软件行动批量更改的大小

PS图象处理软件行动批量更改的大小

图象,批量,处理软件,大小,电脑软件,PS图象处理软件是Adobe公司开发的集图像扫描、编辑于一体的图形图像处理软件制作等功能,有很多方法来修改图片大小,但是有时候我们需要进行大量的修改图片大小,可以用在PS图象处理软件运动具有批处理。 步 …

CSS制作网页条纹技术的详细说明

CSS制作网页条纹技术的详细说明

详细说明,条纹,制作网页,技术,电脑软件,横向条纹 以下代码: CSS代码将内容复制到剪贴板。 背景:线性梯度(# FB 20%,# 58a 80%) 上面的代码显示整个图片20%的上部和下部,20%是相应的纯净的颜色,只有中间的部分是渐变颜色。如果中间部分逐渐减少,当…

Windows7启动速度的横向对比

Windows7启动速度的横向对比

横向,启动,速度,电脑软件,测试环境:CPU英特尔酷睿双核3.16ghz,内存4GB,Windows XP,Windows 7预览版的Vista,安装到同一块物理SATA硬盘。Windows 7的测试版在上个月在PDC版本的会议,和Vista SP1安装的Windows XP SP3的安装。测试的内容很简单:启动…

MySQL页面访问统计和排名

MySQL页面访问统计和排名

访问统计,页面,电脑软件,MySQL,MySQL页面访问统计和排名 统计访问页编号,按分辨率排序 选择(连接`高度`,作为`分辨率`,`宽度` *,计数(连接)(`高度`,`宽度`,*,`总`)) 从` wifi_status_page ` 集团通过concat(`高度`,*,`宽度`) 通过`总`倒序 极限0, 30 最后7…

制作幻灯片幻灯片到SWF动画中

制作幻灯片幻灯片到SWF动画中

动画,幻灯片,画中,电脑软件,SWF,1。准备转换的PPT(PPS)幻灯片文件 依次单击开始程序;powerpointtoflash进入powerpointtoflash运行主界面。在powerpointtoflash主界面,单击列标签下添加文件;,按钮,选择幻灯片文件(PPT或PPS文件),需要在浏览框出现,点…

常见的变换图形变化的CSS3的总结

常见的变换图形变化的CSS3的总结

变换,图形,常见,电脑软件,1.rotate旋转 旋转画面;单位度;度;意义 CSS代码将内容复制到剪贴板。 -moz变换:旋转(20deg);- WebKit的变换:旋转(20deg);- o-transform:旋转(20deg);- MS变换:旋转(20deg); 2.scale放大和缩小 缩放比例,如1.6放大1.6倍,如果-1.6然后小…

PPT2007允许撤销被追踪到150次。

PPT2007允许撤销被追踪到150次。

电脑软件,当使用PowerPoint 2007编辑介绍,如果操作错误,只需点击工具栏中的取消按钮,,和可恢复操作前状态。然而,默认情况下,PowerPoint 2007可以撤销最近20操作。其实,PowerPoint 2007允许用户数可以撤消150次,但你需要进行如下设置:单击Office按钮…