<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 正則表達式展示 ```php /[a-zA-z]+://[^\s]*/ //匹配URL /^((https|http|ftp)?://)[^\s]+/ //匹配URL和FTP /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/ //匹配URL協議、域、端口及相對路徑 /\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/ //匹配郵箱地址 ``` ## 正則表達式(結構) 1. 原子 2. 元字符 3. 修正符 4. 預定義字符 5. 特殊字符 6. 分組符 7. 界定符 8. 修正符 9. 正則表達式優先級 --- ### 一、原子 **原子**|**描述** ---|--- 普通字符| 可打印的字符,在屏幕可看到的字符,如大小寫字母、數字等 非打印字符| 即存在但不可顯示字符,如回車、換行、制表符等 自定義字符| 可以是一個,也可以是集合,用方括號'[ ]'包起來 #### 1.普通字符 **示例**|**描述** ---|--- a-z| 匹配單個小寫字母 A-Z| 匹配單個大寫字母 0-9| 匹配單個數字 > **代碼示例:** ```php $pattem = '/a/'; $subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` #### 2.非打印字符 **示例**|**描述** ---|--- \n| 匹配一個換行符,等價于:\x0a \r| 匹配一個回車符,等價于:\x0d \f| 匹配一個換頁符,等價于:\x0c \t| 匹配一個制表符,等價于:\x09 \v| 匹配一個垂直制表符,等價于:\x0b > **代碼示例:** ```php $pattem = '/\n/'; $subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` #### 3.自定義字符 **示例**|**描述** ---|--- [1234]| 匹配1、2、3、4數字 [0-9]| 匹配數字集合 [a-z]| 匹配小寫字母集合 [A-Z]| 匹配大寫字母集合 [0-9a-zA-Z]| 匹配數字、小寫字母、大寫字母集合 > **代碼示例:** ```php $pattem = '/[a-z]/'; $subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` --- ### 二、元字符 * 元字符是修飾原子字符的,可以理解為原子的定語或限定條件 * 元字符不允許單獨使用,必須配合原子,共同工作 ( . ) 括號里的匹配符,匹配除換行符之外的任意一個字符 **示例**|**描述** ---|--- 12.| 匹配兩個數字,在加任意一個字符 zhu.| 匹配兩個小寫字母,在加任意一個字符 OU.| 匹配兩個大寫字母,在加任意一個字符 > **代碼示例:** ```php $pattem = '/12./'; $subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk OUYANGKE OUYANGKE zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ( | ) 括號里的匹配符,匹配2個或多個分支 **示例**|**描述** ---|--- 12\|67| 匹配12和67 ou\|zhu| 匹配ou和zhu > **代碼示例:** ```php $pattem = '/12|67/'; $subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ( [ ] ) 括號里的匹配符,匹配方括號內指定的任意一個原子 **示例**|**描述** ---|--- [1234]| 匹配1、2、3、4數字 [0-9]| 匹配數字集合 [a-z]| 匹配小寫字母集合 [A-Z]| 匹配大寫字母集合 [0-9a-zA-Z]| 匹配數字、小寫字母、大寫字母集合 > **代碼示例:** ```php $pattem = '/[1234]/'; $subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ( [^ ] ) 括號里的匹配符, 匹配除方括號內指定原子以外的任意一個原子 **示例**|**描述** ---|--- [^1234]| 匹配去除1、2、3、4數字 [^0-9]| 匹配去除數字集合 [^a-z]| 匹配去除小寫字母集合 [^A-Z]| 匹配去除大寫字母集合 [^0-9a-zA-Z]| 匹配去除數字、小寫字母、大寫字母集合 > **代碼示例:** ```php $pattem = '/[^1234]/'; $subject = '11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ( ^ ) 括號里的匹配符,匹配字符串開始位置,一串字符串,必須從這里開始 **示例**|**描述** ---|--- ^1| 匹配從1數字開始 \^[0-9]| 匹配從數字集合開始 \^[a-z]| 匹配從小寫字母集合開始 \^[A-Z]| 匹配從大寫字母集合開始 \^[0-9a-zA-Z]| 匹配從數字、小寫字母、大寫字母集合開始 > **代碼示例:** ```php $pattem = '/^[a-z]/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ( $ ) 括號里的匹配符,匹配字符串結束位置 **示例**|**描述** ---|--- [0-9]$| 匹配從數字集合結束 [a-z]$| 匹配從小寫字母集合結束 [A-Z]$| 匹配從大寫字母集合結束 [0-9a-zA-Z]$| 匹配從數字、小寫字母、大寫字母集合結束 > **代碼示例:** ```php $pattem = '/[a-z]$/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` --- ### 三、量詞(限定符) {n} 表示前面原子出現n次 **示例**|**描述** ---|--- [0-9]{3}| 匹配從數字連續出現3次 [a-z]{3}| 匹配從小寫字母集合連續出現3次 [A-Z]{3}| 匹配從大寫字母集合連續出現3次 [0-9a-zA-Z]{3}| 匹配從數字、小寫字母、大寫字母集合連續出現3次 > **代碼示例:** ```php $pattem = '/[0-9]{3}/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` {n,} 表示前面原子出現不少于n次 **示例**|**描述** ---|--- [0-9]{1,}| 匹配從數字連續出現1次或多次 [a-z]{1,}| 匹配從小寫字母集合連續出現1次或多次 [A-Z]{1,}| 匹配從大寫字母集合連續出現1次或多次 [0-9a-zA-Z]{1,}| 匹配從數字、小寫字母、大寫字母集合連續出現1次或多次 > **代碼示例:** ```php $pattem = '/[0-9]{1,}/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` {n,m} 表示前面原子至少出現n次,最多出現m次 **示例**|**描述** ---|--- [0-9]{1,3}| 匹配從數字連續出現1次或3次 [a-z]{1,3}| 匹配從小寫字母集合連續出現1次或3次 [A-Z]{1,3}| 匹配從大寫字母集合連續出現1次或3次 [0-9a-zA-Z]{1,3}| 匹配從數字、小寫字母、大寫字母集合連續出現1次或3次 > **代碼示例:** ```php $pattem = '/[0-9]{1,3}/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ( * ) 匹配0次、1次或多次前面原子 **示例**|**描述** ---|--- [0-9]*| 匹配從數字連續出現0次、1次或多次 [a-z]*| 匹配從小寫字母集合連續出現0次、1次或多次 [A-Z]*| 匹配從大寫字母集合連續出現0次、1次或多次 [0-9a-zA-Z]*| 匹配從數字、小寫字母、大寫字母集合連續出現0次、1次或多次 > **代碼示例:** ```php $pattem = '/[0-9]*/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ( + ) 匹配1次或多次前面原子 **示例**|**描述** ---|--- [0-9]+| 匹配從數字連續出現1次或多次 [a-z]+| 匹配從小寫字母集合連續出現1次或多次 [A-Z]+| 匹配從大寫字母集合連續出現1次或多次 [0-9a-zA-Z]+| 匹配從數字、小寫字母、大寫字母集合連續出現1次或多次 > **代碼示例:** ```php $pattem = '/[0-9]+/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` (?) 匹配0次或1次前面原子 **示例**|**描述** ---|--- [0-9]?| 匹配從數字連續出現0次或1次 [a-z]?| 匹配從小寫字母集合連續出現0次或1次 [A-Z]?| 匹配從大寫字母集合連續出現0次或1次 [0-9a-zA-Z]?| 匹配從數字、小寫字母、大寫字母集合連續出現0次或1次 > **代碼示例:** ```php $pattem = '/[0-9]?/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` --- ### 四、預定義字符 \d 匹配任意一個十進制數 * 等價于 [0-9] > **代碼示例:** ```php $pattem = '/\d/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` \D 匹配任意一個除十進制以外的字符 * 等價于 [^0-9] > **代碼示例:** ```php $pattem = '/\D/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` \w 匹配任意一個字母/數字/下劃線字符 * 等價于 [0-9a-zA-Z_] > **代碼示例:** ```php $pattem = '/\w/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` \W 匹配任意一個除字母/數字/下劃線之外的字符 * 等價于 [^0-9a-zA-Z_] > **代碼示例:** ```php $pattem = '/\W/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` \s 匹配任意一個空白字符(非打印) > **代碼示例:** ```php $pattem = '/\s/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` \S 匹配任意一個除空白字符以外的字符 > **代碼示例:** ```php $pattem = '/\S/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` \b 匹配單詞邊界 > **代碼示例:** ```php $pattem = '/ouyangke\b/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` \B 匹配除單詞邊界以外的部分 > **代碼示例:** ```php $pattem = '/yang\B/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` --- ### 五、特殊字符 * **特殊字符需要在符號前面增加\轉義** * **需轉義符號: \ * + ? . | ^ $ [ ] ( )** > **代碼示例:** ```php $pattem = '/ \+ /'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk * + ? . | ^ $ [ ] ( ) ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` --- ### 六、分組符 * ( ) 匹配其整體為一個原子[模式單元],即多個原子組成的大原子 > **代碼示例:** ```php $pattem = '/(歐陽克|朱老師)|([0-9])/'; $subject = '我是歐陽克 我是朱老師 asdfsdf212fdhdfgh54674fghjfghjk78907dfghdfghdfgh'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` --- ### 七、界定符 > / / 符號是正則表達式的界定符,里面包裹正則表達式。 --- ### 八、修正符(在界定符后面) > 多個修正符可以組合在一起使用 ( U ) 表示取消貪婪模式 * 正則表達式有:貪婪模式和懶惰模式 * 正則表達式默認是貪婪模式 > **代碼示例1:** ```php $pattem = '/ou.*/'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` > **代碼示例2:** ```php $pattem = '/ou.*/U'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk ouyangke ouyangke zhulaoshi zhulaoshi'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ( i ) 表示和模式進行匹配時忽略大小寫 > **代碼示例:** ```php $pattem = '/ouyangke/i'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk OUYANGKE OUYANGKE ZHULAOSHI ZHULAOSHI'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ( s ) 被匹配的字符串將視為一行來看,包括換行符,換行符將被視為普通字符串。 * ( . ) 括號里的匹配符,匹配除換行符之外的任意一個字符 > **代碼示例:** ```php $pattem = '/OUYANGKE./s'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk\n OUYANGKE OUYANGKE ZHULAOSHI ZHULAOSHI'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ( x ) 模式中的空白忽略不計 > **代碼示例:** ```php $pattem = '/ 0 0 0/x'; $subject = 'a11112222333344445555666677778888999900000 aaabbbcccdddeeefffggghhhiiijjjjkkkk\n OUYANGKE OUYANGKE ZHULAOSHI ZHULAOSHI'; $a = preg_match_all($pattem,$subject,$matches); var_dump($a); // 輸出匹配次數 var_dump($matches); // 輸出匹配結果 ``` ### 九、正則表達式優先級(1級最大) 級別|符號|解釋 ---|:--:|--- 1| \ | 轉義字符 2| ( )、 ( ?: )、 ( ?= )、 [ ]、 | 模式單元與原子表 3| *、 +、 ?、 {n}、 {n,}、 {n,m} | 重復匹配 4| ^、 $、 \b、 \B | 邊界匹配 5| \| | 模式選擇
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看