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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ###原子 原子是正則表達示里面的最小單位,原子說白了就是需要匹配的內容。一個成立的正則表達示當中必須最少要有一個原子。 > 所有可見不可見的字符就是原子 說明:我們見到的空格、回車、換行、0-9、A-Za-z、中文、標點符號、特殊符號全為原子。 在做原子的實例前我們先來講解一個函數,preg_match: > int preg_match ( string $正則 , string $字符串 [, array &$結果] ) 功能:根據$正則變量,匹配$字符串變量。如果存在則返回匹配的個數,把匹配到的結果放到$結果變量里。如果沒有匹配到結果返回0。 注:上面是preg_match常用的主要幾個參數。我在上面將另外幾個參數沒有列出來。因為,另外兩個參數太不常用了。 我們來通過實驗來證明: <?php //定義一個變量叫zz,放正則表達示。為了方便大家記憶,如果你英文比較ok,建議把變量名還是寫成英文的$pattern。 ~~~ <?php $zz = '/a/'; $string = 'ddfdjjvi2jfvkwkfi24'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 因為我希望的是匹配a,而$string當是是不存在a的,所以不成功。 ~~~ <?php $zz = '/wq/'; $string = 'ssssswqaaaaaa'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 上面的字符串中s后存在wq,因此匹配成功。 接下來我們匹配一個空格試試: ~~~ <?php $zz = '/ /'; $string = 'sssssw aaaaa'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 執行結果如下: ![document/2015-09-04/55e9176710a36](http://box.kancloud.cn/document_2015-09-04_55e9176710a36.png) 因上,$string這個變量的w字符后存在一個空格。所以匹配成功,輸出了字符串類型,長度為1。只不過我們的肉眼不可見,看不到這個字符串而已。 ###特殊標識的原子 | 原子 | 說明 | | -- | -- | | \d | 匹配一個0-9 | | \D | 除了0-9以外的所有字符 | | \w | a-zA-Z0-9_ | | \W | 除了0-9A-Za-z_以外的所有字符 | | \s | 匹配所有空白字符\n \t \r 空格 | | \S |匹配所有非空白字符 | | [ ] | 指定范圍的原子| 這個個需要記住,最好達到默寫級別。記憶的時候成對記憶,\d是匹配一個0-9,那么\D 就是除了0-9以外的所有字符。 上面已經說明的很清楚了,我們進行實驗一步一步對這些進行學習。 請你在學習的時候,對于這些原子務必達到默寫級別。因為,我們以后做實驗的時候,一點一點你就學會了。 ###\d匹配一個0-9 ~~~ <?php $zz = '/\d/'; $string = '我愛喝9你愛不愛喝'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ ###\D匹配一個非0-9的值 ~~~ <?php $zz = '/\D/'; $string = '121243中23453453'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 匹配成功,匹配到了中。因為它不是0-9之間的字符。 ###\w匹配一個a-zA-Z0-9_ ~~~ <?php $zz = '/\w/'; $string = '新中_國萬歲呀萬歲'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 匹配成功,匹配到了下劃線。 ###\W匹配一個非a-zA-Z0-9_ ~~~ <?php $zz = '/\w/'; $string = 'afasABCWEQR44231284737'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 匹配失敗。因為,上面上面全是a-zA-Z0-9_,沒有非a-zA-Z0-9_。 ###\s 匹配所有空白字符\n \t \r 空格 ~~~ <?php $zz = '/\s/'; $string = "中國萬 歲"; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 匹配成功,因為有一個回車。 ###\S 非空字符 ~~~ <?php $zz = '/\s/'; $string = " a "; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 匹配成功。雖然上面有空格,回車和縮進。但是,有一個非空白字符a。因此,匹配成功。 ### [] 指定范圍的原子 ~~~ <?php $zz = '/[0-5]\w+/'; $string = '6a'; $string1 = '1C'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 結論: 上例中0-5匹配$string失敗,而$string1成功。因為,$string中的第一個數值為6,不在[0-5]的范圍之內。 ~~~ <?php $zz = '/[a-zA-Z0-9_]\w/'; $string = 'ab'; $string1 = '9A'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 結論: $string和$string1都匹配成功。因為\w就是[a-zA-Z0-9_] ~~~ <?php $zz = '/[abc]\d+/'; $string = 'a9'; $string1 = 'b1'; $string2 = 'c5'; $string3 = 'd4'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 結論: $string、$string1、$string2匹配成功,而$string3不成功。因為$string3超過了[abc]的范圍,它是從d開始的。 ### [^ 字符] 不匹配指定區間的字符 ~~~ <?php $zz = '/[^0-9A-Za-z_]/'; $string = 'aaaaab311dd'; $string1 = '!$@!#%$#^##'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?> ~~~ 結論: 1. 匹配$string不成功,但是匹配$string1的時候成功。因為中括號里面有個抑揚符。 2. ^ 抑揚符在中括號里面的作用是不準以中括號里面的字符進行匹配。 總結: | 原子 | 等價式 | | -- | -- | | \w | [a-zA-Z0-9_] | | \W | [^a-zA-Z0-9_] | | \d | [0-9] | | \D | [^0-9] | | \s | [ \t\n\f\r] | | \S | [^ \t\n\f\r] |
                  <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>

                              哎呀哎呀视频在线观看