正則表達(dá)式是用于描述字符排列和匹配模式的一種語(yǔ)法規(guī)則。它主要用于字符串的模式分割、匹配、查找及替換操作。在PHP中,正則表達(dá)式一般是由正規(guī)字符和一些特殊字符(類(lèi)似于通配符)聯(lián)合構(gòu)成的一個(gè)文本模式的程序性描述。正則表達(dá)式有三個(gè)作用:1、匹配,也常常用于從字符串中析取信息;2、用新文本代替匹配文本;3、將一個(gè)字符串拆分為一組更小的信息塊。本文將詳細(xì)介紹PHP中的正則表達(dá)式基礎(chǔ)語(yǔ)法
[注意]關(guān)于javascript的正則表達(dá)式的詳細(xì)信息移步至此
歷史
在PHP中有兩套正則表達(dá)式函數(shù)庫(kù),兩者功能相似,只是執(zhí)行效率略有差異:一套是由PCRE(Perl Compatible Regular Expression)庫(kù)提供的,使用“preg_”為前綴命名的函數(shù);另一套由POSIX(Portable Operating System Interface of Unix)擴(kuò)展提供的,使用以“ereg_”為前綴命名的函數(shù)
PCRE來(lái)源于Perl語(yǔ)言,而Perl是對(duì)字符串操作功能最強(qiáng)大的語(yǔ)言之一,PHP的最初版本就是由Perl開(kāi)發(fā)的產(chǎn)品。PCRE語(yǔ)法支持更多特性,比POSIX語(yǔ)法更強(qiáng)大
在PHP4之前,主要使用POSIX;而現(xiàn)在,則使用主流的PCRE
正則表達(dá)式作為一個(gè)匹配的模式,是由原子(普通字符,例如字符a到z)、特殊字符(元字符,例如*、+和?等)、以及模式修正符三部分組成的文字模式
定界符
定界符常使用反斜線(xiàn)“/”,如“/apple/”。用戶(hù)只要把需要匹配的模式內(nèi)容放入定界符之間即可。作為定界的字符也不僅僅局限于“/”。除了字母、數(shù)字和斜線(xiàn)“\”以外的任何字符都可以作為定界符,像“#”、“|”、“!”等都可以的
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線(xiàn)安全]玩轉(zhuǎn)無(wú)線(xiàn)電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26