<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>

                ## 原子 >[info] 原子,也叫原子字符,<span style="color:#f80;">是正規表達式函數操作的對象。</span><br/> 學習之前先搞清三個概念: <div style="border:2px solid #f80;padding:10px;margin-bottom:15px;"> 1. 原子是正則表達式的最小單位;<br/> 2. 每個正則模式中,至少要包含一個原子;<br/> 3. 原子必須由可打印和非打印字符組成。 </div> * * * * * ## 原子的組成: >[info] 大體上,可以將原子字符分為5類: | 序號 | 原子 | 說明 | | :---: | --- | --- | | 1 | 普通字符 | 可打印字符,如大小寫字母、數字等 | | 2 | 特殊字符或元字符 | 因為這類字符在正則表達式中有特殊含義,必須轉義 | | 3 | 非打印字符 | 即存在但不可顯示字符,如回車、換行、換頁,制表符等| | 4 | 通配字符 | 也叫:通用字符或者'類字符',即一個原子匹配一類字符 | | 5 | 自定義字符 | 可以是一個,也可以是集合,用方括號'[ ]'包起來 | >[success] 下面我們詳細介紹一下這五類原子: #### 1. 普通字符做原子: >[info] 普通字符:就是我們可以在屏幕上看見的字符,如字母、數字等。 | 序號 | 原子字符 | 說明 | | :---: | --- | --- | | 1 | 小寫字母/`'a-z'` | `/php/ , /abc/,/google/` | | 2 | 大寫字母/`'A-Z'` | `/THINKPHP/, /CHINA/` | | 3 | 數字/`'0-9'` | ` /3.14/, /18/ ` | >[warning] 一個原子匹配目標字符串中的一個字符,逐一對應。 * 實例: ~~~ <?php echo preg_match('/php/', 'thinkphp') ? '匹配成功<br />' : '匹配失敗<br />'; //匹配成功 echo preg_match('/PHP/', 'ThinkPHP') ? '匹配成功<br />' : '匹配失敗<br />'; //匹配成功 echo preg_match('/5/', 'ThinkPHP5') ? '匹配成功<br />' : '匹配失敗<br />'; //匹配成功 ~~~ * * * * * #### 2. 特殊字符和元字符做原子: >[info] 元字符在正則中有特殊用途,是用來修飾原子的,下節課會詳細討論,這里你只需要知道,元字符做原子時,不能直接使用,<span style="color:#f80">必須轉義</span>,使其變成普通原子字符。 | 序號 | 原子字符 | 說明 | | :---: | --- | --- | | 1 | 元字符 | `'\.', '\+', '\?', '\$', '\*' ` | | 2 | 特殊字符 | `'\<br \/>' ` 匹配是否出現`‘<br />’`標記| * 實例: ~~~ <?php echo preg_match('/\./', 'ThinkPHP5.0') ? '匹配成功<br />' : '匹配失敗<br />'; //匹配成功 //<br /> 需要3次轉義:2個尖括號'<'和'>',1個反斜杠'/' echo preg_match('/\<br\/\>/', 'ThinkPHP5<br/>') ? '匹配成功<br />' : '匹配失敗<br />';//匹配成功 ~~~ * * * * * #### 3. 非打印字符做原子: >[info] 非打印字符,也叫不可見字符,主要是一年格式控制符。 * 最常用的有四個: | 序號 | 原子字符 | 說明 | | :---: | --- | --- | | 1 | ` '\n' ` | 匹配一個換行符,等價于:`'\x0a' ` | | 2 | `'\r' ` | 匹配一個回車符,等價于:`'\x0d' ` | | 3 | `'\f' ` | 匹配一個換頁符,等價于:`'\x0c'` | | 4 | ` '\t' ` | 匹配一個制表符,等價于:`'\x09'` | | 5 | ` '\v' ` | 匹配一個垂直制表符,等價于:`'\x0b'` | * 實例: ~~~ <?php echo preg_match('/\r\n/', "ThinkPHP5.0\r\n") ? '匹配成功<br />' : '匹配失敗<br />';//匹配成功 ~~~ >[info] 代碼分析: 1. 目標字符串`"ThinkPHP5.0\r\n"`必須要用雙引號""包起來,因為只有雙引號里的字符串才可以解析所有轉義字符; 2. 單引號內只解析2種:單引號自身`'\' `和 轉義符自身`\\` >[warning] 不可見,不代表不存在。不可見字符僅僅是無法用肉眼看見,但可以感知存在。 * * * * * #### 4. 通配字符做原子: >[info] 通配字符,也叫通用字符、類字符。我個人覺得叫:類字符更貼切~~ | 序號 | 原子字符 | 說明 | | :---: | --- | --- | | 1 | `'\d'` | 匹配任意一個<span style="color:#6cf">十進制數</span>,等價于:`[0-9]` | | 2 | `'\D'` | 匹配任意一個<span style="color:#6cf">除十進制以外</span>的字符,等價于:`[^0-9]` | | 3 | `\w` | 匹配任意一個<span style="color:#6cf">字母/數字/下劃線</span>字符,等價于:`[a-zA-Z0-9_] ` | | 4 | `\W` | 匹配任意一個<span style="color:#6cf">除字母/數字/下劃線之外</span>的字符,等價于:`[a-zA-Z0-9_] ` | | 5 | `\s` | 匹配任意一個<span style="color:#6cf">空白字符</span>(非打印),等價于:`[\f\n\r\t\v]` | | 6 | `\S` | 匹配任意一個<span style="color:#6cf">除空白字符以外</span>的字符,等價于:`[^\f\n\r\t\v]` | >[warning] ####類原子匹配的是一類字符(字符集合),不再是一個字符~~ * 實例: ~~~ <?php //匹配十進制數0-9,等價于:[0-9] echo preg_match('/\d\./', "3.1415926") ? '匹配成功<br />' : '匹配失敗<br />';//匹配成功 //匹配大小寫字母和下劃線,等價于:[a-zA-z0-9_] echo preg_match('/\w/', "ThinkPHP5.0") ? '匹配成功<br />' : '匹配失敗<br />';//匹配成功 //匹配字符串中的空格符,等價于:[\r\n\r\t\v] echo preg_match('/\s/', "Think PHP5.0") ? '匹配成功<br />' : '匹配失敗<br />';//匹配成功 ~~~ * * * * * #### 5. 自定義原子: >[info] 盡管上面所說的原子已經很豐富了,但不能窮舉全部原子類型,如果上面不符合要求,就需要我們自己動手,創建自己的原子啦! <div style="border:2px solid #f80;padding:10px;margin-bottom:15px;"> 1. 自定義原子是一個集合,可以匹配一個,也可以匹配多個字符;<br /> 2. 自定義原子列表,使用方括號'[ ]',括號內所有原子地位平等,順序可隨意調整;<br/> 3. 自定義原子列表中,可以使用排除符號'^',過濾掉不符合要求字符。 </div> | 序號 | 原子 | 說明 | | :---: | --- | --- | | 1 | `[單個字符列表] ` | 如:`'\[AJ]SP\'`,表示:ASP和JSP,任選一個做為原子 | | 2 | `[^單個字符列表] ` | `'^'`:表示取反,如 `'\[^AJ]SP\'`,表示:除ASP和JSP之外,任選一個做為原子 | | 3 | `[a-zA-Z0-9_]` | 如果原子集合中某類字符是連續的,可以用`'-'`符號連接起始字符,表示字符區間 | * 實例: ~~~ <?php //匹配十進制數字: \d echo preg_match('/[0-9]/', "3.1415926") ? '匹配成功<br />' : '匹配失敗<br />'; //匹配大小寫字母和十進制數字 echo preg_match('/[a-zA-Z0-9]/', "ThinkPHP5.0") ? '匹配成功<br />' : '匹配失敗<br />'; //匹配非打印字符(即不可見字符) echo preg_match('/[\f\n\r\t\v]/', "Think PHP5.0") ? '匹配成功<br />' : '匹配失敗<br />'; //匹配 ASP 或者 JSP,[]內的元素是平級關系,只要一個滿足要求就匹配成功 echo preg_match('/[AJ]SP/', "ASP,JSP,PHP") ? '匹配成功<br />' : '匹配失敗<br />'; //與上面相反,除了ASP或JSP外的字符串,如:PSP,符合條件,匹配成功 echo preg_match('/[^AJ]SP/', "ASP,JSP,PSP") ? '匹配成功<br />' : '匹配失敗<br />'; ~~~ * * * * * #### 總結: >[success] 原子是正規表達式的中最基本的內容,必須全面掌握,否則會嚴重影響到后面的學習。 * * * * * >[danger] 以上實例很簡單,建議上機練習一下~~
                  <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>

                              哎呀哎呀视频在线观看