什么是正则表达式正则表达式就是用某种模式去匹配一类字符串的一种公式,通谷的讲,就是用一个“字符串”描述一个特征,然后验证另一个“字符串”是否符合这个特征的公式。
比如“ab+”描述的特征是:一个a和任意个b。那么ab,abb,abbbbbb都是符合这个特征,而字符串ad显然是不符合的
正则表达式可应用到各个方面,在常用的高级编辑器中,几科都支持正则表达式,如word,vim等
正则表达式在编程语言中更是得到了大规模推广。现在的语言几科都是原生的,都可以从语法上支持正则表达式,尤其在perl的扒动下,php,java.net,javascript等语言都支持有正则语法。
PHP中的正则函数正则表达式看起来总是那么古怪,以至于许多人对其望而生畏。首先要澄清一些概念:虽然不同语言间正则语法大同小异,但实际上正则表达式的实现有多种引擎(如非确定性有穷自动机NFA,确定性有穷自动机DFA),其表现又有多种风格(如javascript有自己的朴素正则,Perl有一套高级而强大的正则,。Net也有自己的一套正则风格)。另外,还有人可能容易混淆PHP中的preg和ereg
简单的说,PHP中有两套则函数,两者功能着不多:
由PCRE库提供的函数,以“Preg_”为前缀命名 PCRE(PERL Compatible Regular Expression)由Philip Hazel于1997年开发,现代的编程语言和软件中一般都使用PCRE库
由poSIX扩展提供的函数,以“ereg_”为前缀命名。POSIX由一系列规范构成,定义了UNIX操作系统应用支持的功能,所以”POSIX”风格的正则表达式也就是“关于正则表达式的POSIX规范”,定义了BRE和ERE两大流派,通常UNIX的一些工具和较老的软件中会使用POSSIX风格的正则,另外一些数据库中也提供了POSIX风格的正则表达式
自PHP5。2以后,就不再推荐使用POSIX正则函数库,若程序中使用了则会报Deprecated级别的错误,这种情况通常在一些较老的代码中比较常见。其实使用或不使用posix正则函炒出香味库二者本质上没有多大差别,主要是一些表现形式,语法和扩展功能的差别
分享名称:PHP与正则表达式
文章位置:/news28/184428.html
成都网站建设公司_创新互联,为您提供App设计、做网站、外贸建站、移动网站建设、动态网站、标签优化
广告
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源:
创新互联