真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP學(xué)習(xí)筆記-----正則表達(dá)式

正則表達(dá)式的語法規(guī)則

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比道里網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式道里網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋道里地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。

正則表達(dá)式描述了一種字符串匹配的模式,通過這個模式在特定的函數(shù)中對字符串進(jìn)行匹配、查找、替換及分割等操作。

三個組成部分:

         原子

         元字符

         模式修正符

以及         定界符

1 定界符

不僅局限”/“。除了字母、數(shù)字和反斜線”\“以外的任何字符都可以作為定界符號。

2 原子

         1       普通字符作為原子

                   a~z  A~Z 0~9

         2  一些特殊字符和元字符作為原子

                   有特殊意義的符號,需使用轉(zhuǎn)義字符”\“

         3   一些非打印字符作為原子

                   \cx   \f  \n   \r   \t  \w

         4   使用”通用字符類型“作為原子

                  \d 匹配任意一個十進(jìn)制數(shù)字,等價(jià)于[0-9]

                   \D匹配任意一個除十進(jìn)制字以外的字符,等價(jià)于[^0-9]

                   \s匹配任意一個空白字符,等價(jià)于[\f\n\r\t\v]

                   \S匹配除空白字符以外任意一個字符,等價(jià)于[^\f\n\r\t\v]

                   \w匹配任意一個數(shù)字、字母或下劃線,等價(jià)于[0-9a-ZA-Z]

                   \W匹配除數(shù)字、字母或下劃線以外的任意一個字符,等價(jià)于[^0-9a-zA-Z]

         5     自定義原子表([])作為原子

3 元字符

         限定符

                  *   匹配0次、1次或多次其前的原子

                  +   匹配1次或多次其前的原子

                  ?   匹配0次或1此前的原子

{n}    表示其前面的原子恰好出現(xiàn)n次

                   {n,}   表示其前面的原子出現(xiàn)不少于n次

                   {n,m}表示其前面的原子至少出現(xiàn)n次,最多出現(xiàn)m次

 

句號

                  .       匹配除了換行符外的任意一個字符

 

模式選擇符

                  |    匹配兩個或多個分支選擇

                 

邊界限制

                  ^或\A匹配輸入字符串的開始位置

                  $或\Z匹配輸入字符串的結(jié)束位置

                  \b     匹配單詞的邊界

                  \B     匹配除單詞邊界以外的部分

                  []       匹配方括號中指定的任意一個原子

                  [^]    匹配除方括號中原子以外的任意一個字符

 

         模式單元

                  ( )      匹配其整體為一個原子,即模式單元。

        

         后向引用

                   模式加元字符括號后,結(jié)果被存儲到緩沖區(qū)中,可以使用“\n”(n為第n個括號)引用

   

模式修正符

         在正則表達(dá)式定界符之外使用。

         i        在和模式進(jìn)行匹配時(shí)不區(qū)分大小寫

         m      將字符串視為多行(默認(rèn)情況,不匹配換行符)

         s       模式中的圓點(diǎn)元字符匹配所有字符,包括換行符。將字符串視為單行,換行符作為普通字符看待。(可以匹配換行符)

         x       模式中的空白忽略不計(jì),除非它已經(jīng)被轉(zhuǎn)義

         e       只用在preg_replace()函數(shù)中,在替換字符串中對逆向引用做正常的替換,將其作為PHP代碼求值,并用其結(jié)果來替換所搜索的字符串

         U      反轉(zhuǎn)了匹配數(shù)量的值使其不是默認(rèn)的重復(fù),而變成在后面跟上“?”才變得重復(fù)。(非貪婪模式,同.*?)

         D      模式中的美元元字符僅匹配目標(biāo)字符串的結(jié)尾。(沒有此選項(xiàng),如果最后一個字符是換行符,美元符號會匹配此字符之前)

 

與Perl兼容的正則表達(dá)式函數(shù)

一匹配與查找

1          preg_match()

通常用于表單驗(yàn)證。可以按指定的正則表達(dá)式模式,對字符串進(jìn)行搜索和匹配一次。

         @pattern提供用戶按正則表達(dá)式語法編寫的模式

         @subject 字符串

         @matches保存與第一個參數(shù)中的子模式的各個部分的匹配結(jié)果。Matches[0]保存了與正則表達(dá)式pattern匹配的整體內(nèi)容。Matches其他元素是正則表達(dá)式小括號內(nèi)按順序依次的內(nèi)容。

         @return返回0或1,匹配結(jié)果數(shù)

Intpreg_match(string pattern,string subject[,array match])

 

2          preg_match_all()

一直搜索到指定字符串的結(jié)尾,可以獲得所有匹配到的結(jié)果。

@pattern

@subjet

@matches所有匹配結(jié)果

@flags 

         PREG_PATTERN_ORDER: 對結(jié)果排序,$matches[0]為全部模式匹配的數(shù)組,$matches[1]為第一個括號中的子模式所匹配的字符串組成的數(shù)組。

         PERG_SET_ORDER:對結(jié)果排序,使$matches[0]為第一組匹配項(xiàng)的數(shù)組,$matches[1]位第二組的匹配項(xiàng)數(shù)組。

@return 返回整個模式匹配的次數(shù),如果出錯則返回FALSE

intpreg_match_all(string pattern,string subject,array matches[, int flags])

 

3          preg_grep()

@pattern 正則表達(dá)式

@input 數(shù)組

@return 返回一個數(shù)組,包括了第二個參數(shù)input數(shù)組中與給定的第一個參數(shù)pattern模式相匹配的單元。(對input中的每個元素,只進(jìn)行一次匹配)

arraypreg_grep(string pattern,array input)

 

4          strstr()  strops() strrpos()  substr()

 

二、字符串的替換

         1       preg_replace()

         @pattern                模式匹配項(xiàng)

         @replacement         替換內(nèi)容

         @subject                   原字符串

         @limit                         替換個數(shù)(值為-1,則所有都會匹配)

         mixedpreg_replace( mixed pattern,mixed replacement ,mixe subject [,int limit])

注:與模式修正符e的搭配使用

         2       str_replace()

三、字符串的分割和拼接

         1       preg_split()

         用途:返回一個字符串?dāng)?shù)組,數(shù)組中元素包含通過第二個參數(shù)subject中的字符串,經(jīng)第一個參數(shù)的正則表達(dá)式pattern,作為匹配的邊界所分割的子串。

         @pattern                模式匹配項(xiàng)

         @subject                 字符串

         @limit                         替換個數(shù)

         @flags                       

                   PREG_SPLIT_NO_EMPTY:如果設(shè)定了本標(biāo)記,則preg_split()只返回非空部分

                   PREG_SPLIT_DELIM_CAPTURE:如果設(shè)定了本標(biāo)記,定界符模式中的括號表達(dá)式也會被捕獲并返回。

                   PREG_SPLIT_OFFSET_CAPTURE:如果設(shè)定本標(biāo)記,對每個出現(xiàn)的匹配結(jié)果也同時(shí)返回其附屬的字符串偏移量。

         arraypreg_split( string pattern,string subject[,int limit [,flags]])

         2       explode()

         3       implode()



分享文章:PHP學(xué)習(xí)筆記-----正則表達(dá)式
文章轉(zhuǎn)載:http://weahome.cn/article/psieoe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部