免费人成网站视频在线观看国内,久视频精品线在线观看,人妻激情偷乱频一区二区三区,国产 字幕 制服 中文 在线

有關(guān)PHP中的正則表達式_網(wǎng)絡(luò )編程_奇迪科技(深圳)有限公司(m.cheanjie.com)

歡迎來(lái)到奇迪科技(深圳)有限公司,超值服務(wù)提供卓越產(chǎn)品!

網(wǎng)絡(luò )編程

有關(guān)PHP中的正則表達式

作者:qvdv 來(lái)源: 更新時(shí)間:2014-11-05

什么是正則表達式

在編寫(xiě)處理字符串的程序或網(wǎng)頁(yè)時(shí),經(jīng)常會(huì )有查找符合某些復雜規則的字符串的需要。正則表達式就是用于描述這些規則的語(yǔ)法。

主要的作用是:分割、匹配、查找、替換

PHP中兩個(gè)常用的正則函數

Example #1 PHP中兩個(gè)常用的正則函數

//preg_match 正則函數,以perl語(yǔ)言為基礎
    bool    preg_match(mode_表達式,string subject_要處理的內容,array matches_正則的結果存到數組)
//ereg 正則函數,以POSIX基礎 (UnixScript)
    bool    ereg(mode_表達式,string subject_要處理的內容_,array regs_正則的結果存到數組)

Example #2 正則表達式中包括的元素

(1)、原子(普通字符:a-z A-Z 0-9 、原子表、 轉義字符)
(2)、元字符 (有特殊功能的字符.例如:* #...)
(3)、模式修正符 (系統內置部分字符 i、g、m、S、x、U…)例如:匹配大小寫(xiě)字母,不用重新寫(xiě)兩次,用模式修正符進(jìn)行大小姐匹配.

Example #3 正則表達式中的“原子”

1、a-z A-Z _ 0-9 //最常見(jiàn)的字符
2、(abc) (skd) //用圓括號包含起來(lái)的單元符合.()里面的匹配是一個(gè)整體
3、[abcs] [^abd] //用方括號包含的原子表,原子表中的^代表排除或相反內容.[]里面的匹配是任意單個(gè)元素
4、轉義字符
        d 包含所有數字[0-9]
        D 除所有數字外[^0-9]
        w 包含所有英文字符和數字[a-zA-Z_0-9](主要處理特殊字符)
        W 除所有英文和數字字符外[^a-zA-Z_0-9](主要處理特殊字符)
        s 包含空白區域如回車(chē)、換行、分頁(yè)等 [fnr]
        ......

正則表達式中的“元字符”(可以理解成正則表達式中的特殊符號和運算符號)

Example #1 創(chuàng )建一個(gè)類(lèi)的方法

* 匹配前一個(gè)內容的0次1次或多次
+ 匹配前一個(gè)內容的1次或多次,不能零次
?匹配前一個(gè)內容的0次或1次,不能多次
. 匹配內容的0次1次或多次,但不包含回車(chē)換行(就是自己代替任意字符)
| 選擇匹配類(lèi)似PHP中的| (因為這個(gè)運算符合是弱類(lèi)型導致前面最為整體匹配)
^ 匹配字符串首部?jì)热?br/>$ 匹配字符串尾部?jì)热?br/>b 匹配單詞邊界,邊界可以是空格或者特殊符合
B 匹配除帶單詞邊界意外內容
{m} 匹配前一個(gè)內容的重復次數為M次
{m,} 匹配前一個(gè)內容的重復次數大于等于M次
{m,n} 匹配前一個(gè)內容的重復次數M次到N次
( ) 合并整體匹配,并放入內存,可使用1 2…依次獲取

正則表達式中的“模式修正符”(就是對正則表達式的一個(gè)增強)

Example #1 運算順序

依然遵循從左到→右的運算規則
優(yōu)先級

    ( ) 圓括號因為是內存處理所以最高
    * ? + { } 重復匹配內容其次
    ^ $ b 邊界處理第三
    | 條件處理第四
    最后按照運算順序計算匹配

Example #1 模式修正符

模式修正符是為正則表達式增強和補充的一個(gè)功能,使用在正則之外
    i 正則內容在匹配時(shí)候不區分大小寫(xiě)(默認是區分的)
    m 在匹配首內容或者尾內容時(shí)候采用多行識別匹配
    S 將轉義回車(chē)取消是為單行匹配如. 匹配的時(shí)候
    x 忽略正則中的空白
    A 強制從頭開(kāi)始匹配
    D 強制$匹配尾部無(wú)任何內容 n
    U 禁止貪婪匹配 只跟蹤到最近的一個(gè)匹配符并結束,
常用在采集程序上的正則表達式

正則表達式在PHP中的應用

Example #1 preg_match_all 全部匹配函數

對結果排序使 $數組[0] 為全部模式匹配的數組
    用途:截取比較詳細的內容,采集網(wǎng)頁(yè),分析文本
    preg_match_all(正則,被正則內容,數組 [,int flags] )

Example #1 preg_replace 正則替換函數

通過(guò)正則表達式來(lái)替換相關(guān)內容,類(lèi)似之前學(xué)過(guò)的str_replace字符串替換,但功能要強于它。
提示:1、替換內容可以是一個(gè)正則也可以是數組正則。2、替換內容可以通過(guò)修正符e來(lái)解決替換執行內容
        用途:替換一些比較復雜的內容上,也可以用于內容的轉換上
    preg_replace (正則,替換內容,被正則內容 [,int 替換多少次] )
        批量替換:正則寫(xiě)成數組,替換的也寫(xiě)成數組

Example #1 preg_split 正則切割

通過(guò)正則表達式來(lái)切割相關(guān)內容,類(lèi)似之前學(xué)過(guò)的explode切割函數,但explode
只能按照一種方式切割有局限性。
    preg_split (正則,被切割內容 [, int 切割次數 [, int flags]] )


本文版權所有,轉載須注明:來(lái)源  http://m.cheanjie.com/qvdv-oop-655.html