亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP學習筆記-----正則表達式

發布時間:2020-06-12 00:10:07 來源:網絡 閱讀:298 作者:leevian 欄目:web開發

正則表達式的語法規則

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

三個組成部分:

         原子

         元字符

         模式修正符

以及         定界符

1 定界符

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

2 原子

         1       普通字符作為原子

                   a~z  A~Z 0~9

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

                   有特殊意義的符號,需使用轉義字符”\“

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

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

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

                  \d 匹配任意一個十進制數字,等價于[0-9]

                   \D匹配任意一個除十進制字以外的字符,等價于[^0-9]

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

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

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

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

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

3 元字符

         限定符

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

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

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

{n}    表示其前面的原子恰好出現n

                   {n,}   表示其前面的原子出現不少于n

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

 

句號

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

 

模式選擇符

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

                 

邊界限制

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

                  $\Z匹配輸入字符串的結束位置

                  \b     匹配單詞的邊界

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

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

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

 

         模式單元

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

        

         后向引用

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

   

模式修正符

         在正則表達式定界符之外使用。

         i        在和模式進行匹配時不區分大小寫

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

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

         x       模式中的空白忽略不計,除非它已經被轉義

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

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

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

 



Perl兼容的正則表達式函數

一匹配與查找

1          preg_match()

通常用于表單驗證。可以按指定的正則表達式模式,對字符串進行搜索和匹配一次。

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

         @subject 字符串

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

         @return返回01,匹配結果數

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

 

2          preg_match_all()

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

@pattern

@subjet

@matches所有匹配結果

@flags 

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

         PERG_SET_ORDER:對結果排序,使$matches[0]為第一組匹配項的數組,$matches[1]位第二組的匹配項數組。

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

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

 

3          preg_grep()

@pattern 正則表達式

@input 數組

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

arraypreg_grep(string pattern,array input)

 

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

 

二、字符串的替換

         1       preg_replace()

         @pattern                模式匹配項

         @replacement         替換內容

         @subject                   原字符串

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

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

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

         2       str_replace()

三、字符串的分割和拼接

         1       preg_split()

         用途:返回一個字符串數組,數組中元素包含通過第二個參數subject中的字符串,經第一個參數的正則表達式pattern,作為匹配的邊界所分割的子串。

         @pattern                模式匹配項

         @subject                 字符串

         @limit                         替換個數

         @flags                       

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

                   PREG_SPLIT_DELIM_CAPTURE:如果設定了本標記,定界符模式中的括號表達式也會被捕獲并返回。

                   PREG_SPLIT_OFFSET_CAPTURE:如果設定本標記,對每個出現的匹配結果也同時返回其附屬的字符串偏移量。

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

         2       explode()

         3       implode()




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

弥勒县| 崇仁县| 乌拉特中旗| 马龙县| 武隆县| 靖远县| 新宾| 马边| 开阳县| 宜宾市| 万载县| 靖安县| 岚皋县| 隆安县| 阿图什市| 永福县| 精河县| 余干县| 平乡县| 札达县| 漳浦县| 加查县| 武义县| 渑池县| 丰台区| 依兰县| 沅陵县| 甘肃省| 阿拉善盟| 东源县| 同仁县| 新河县| 苏尼特左旗| 宁明县| 夹江县| 邹城市| 沙洋县| 敦化市| 青浦区| 大安市| 宁晋县|