PHP与正则表达式

发布时间:2025-01-19 点击:26
什么是正则表达式
正则表达式就是用某种模式去匹配一类字符串的一种公式,通谷的讲,就是用一个“字符串”描述一个特征,然后验证另一个“字符串”是否符合这个特征的公式。
比如“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正则函炒出香味库二者本质上没有多大差别,主要是一些表现形式,语法和扩展功能的差别

【网站建设】网站建设中设置新闻板块有利于提升用户体验
原创内容,对SEO优化有什么作用?
学习SEO难不难_学习SEO有出路吗?
什么样的广州网站建设能赚钱?
香港新世界机房是什么意思?香港新世界机房地址
为什么自助建站的费用各不相同?
前端编程语言JS中 定时器 SetInterval与setTimeout用法
如何做好冷门行业的SEO优化?