什么是正則表達(dá)式正則表達(dá)式就是用某種模式去匹配一類字符串的一種公式,通谷的講,就是用一個“字符串”描述一個特征,然后驗(yàn)證另一個“字符串”是否符合這個特征的公式。
比如“ab+”描述的特征是:一個a和任意個b。那么ab,abb,abbbbbb都是符合這個特征,而字符串a(chǎn)d顯然是不符合的
正則表達(dá)式可應(yīng)用到各個方面,在常用的高級編輯器中,幾科都支持正則表達(dá)式,如word,vim等
正則表達(dá)式在編程語言中更是得到了大規(guī)模推廣。現(xiàn)在的語言幾科都是原生的,都可以從語法上支持正則表達(dá)式,尤其在perl的扒動下,php,java.net,javascript等語言都支持有正則語法。
PHP中的正則函數(shù)正則表達(dá)式看起來總是那么古怪,以至于許多人對其望而生畏。首先要澄清一些概念:雖然不同語言間正則語法大同小異,但實(shí)際上正則表達(dá)式的實(shí)現(xiàn)有多種引擎(如非確定性有窮自動機(jī)NFA,確定性有窮自動機(jī)DFA),其表現(xiàn)又有多種風(fēng)格(如javascript有自己的樸素正則,Perl有一套高級而強(qiáng)大的正則,。Net也有自己的一套正則風(fēng)格)。另外,還有人可能容易混淆PHP中的preg和ereg
簡單的說,PHP中有兩套則函數(shù),兩者功能著不多:
由PCRE庫提供的函數(shù),以“Preg_”為前綴命名 PCRE(PERL Compatible Regular Expression)由Philip Hazel于1997年開發(fā),現(xiàn)代的編程語言和軟件中一般都使用PCRE庫
由poSIX擴(kuò)展提供的函數(shù),以“ereg_”為前綴命名。POSIX由一系列規(guī)范構(gòu)成,定義了UNIX操作系統(tǒng)應(yīng)用支持的功能,所以”POSIX”風(fēng)格的正則表達(dá)式也就是“關(guān)于正則表達(dá)式的POSIX規(guī)范”,定義了BRE和ERE兩大流派,通常UNIX的一些工具和較老的軟件中會使用POSSIX風(fēng)格的正則,另外一些數(shù)據(jù)庫中也提供了POSIX風(fēng)格的正則表達(dá)式
自PHP5。2以后,就不再推薦使用POSIX正則函數(shù)庫,若程序中使用了則會報(bào)Deprecated級別的錯誤,這種情況通常在一些較老的代碼中比較常見。其實(shí)使用或不使用posix正則函炒出香味庫二者本質(zhì)上沒有多大差別,主要是一些表現(xiàn)形式,語法和擴(kuò)展功能的差別
分享名稱:PHP與正則表達(dá)式
文章位置:http://www.rwnh.cn/news28/184428.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、做網(wǎng)站、外貿(mào)建站、移動網(wǎng)站建設(shè)、動態(tài)網(wǎng)站、標(biāo)簽優(yōu)化
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)