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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                正則表達式是一種描述字符串結果的語法規則,是一個特定的格式化模式,可以匹配、替換、截取匹配的字符串。常用的語言基本上都有正則表達式,如JavaScript、java等。其實,只有了解一種語言的正則使用,其他語言的正則使用起來,就相對簡單些。文本主要圍繞解決下面問題展開。 原文閱讀: [php中正則表達式詳解](https://www.cnblogs.com/hellohell/p/5718319.html) [PHP正則表達式模式修飾符詳解](https://www.cnblogs.com/52php/p/5657896.html) [TOC] ## 行定位符(^與$) 行定位符是用來描述字符串的邊界。“$”表示行結尾,“^”表示行開始,如"^de",表示以de開頭的字符串 ,"de$",表示以de結尾的字符串。 ## 單詞定界符 我們在查找的一個單詞的時候,如an是否在一個字符串”gril and body”中存在,很明顯如果匹配的話,an肯定是可以匹配字符串“gril and body”匹配到,怎樣才能讓其匹配單詞,而不是單詞的一部分呢?這時候,我們可以是喲個單詞定界符\b。 \ban\b 去匹配”gril and body”的話,就會提示匹配不到。 當然還有一個大寫的\B,它的意思,和\b正好相反,它匹配的字符串不能使一個完整的單詞,而是其他單詞或字符串中的一部分。如\Ban\B。 ## 選擇字符(|) ,表示或 選擇字符表示或的意思。如Aa|aA,表示Aa或者是aA的意思。注意使用”[]”與”|”的區別,在于”[]”只能匹配單個字符,而”|”可以匹配任意長度的字符串。在使用”[]”的時候,往往配合連接字符”-“一起使用,如[a-d],代表a或b或c或d。 ## 排除字符,排除操作 正則表達式提供了”^”來表示排除不符合的字符,^一般放在[]中。如[^1-5],該字符不是1~5之間的數字。 ## 限定符(?*+{n,m}) 限定符主要是用來限定每個字符串出現的次數。 ![](https://box.kancloud.cn/029e5c98b078c6b61345181026efa7ac_263x340.png) ## 點號操作符 匹配任意一個字符(不包含換行符) ## 表達式中的反斜杠(\) 表達式中的反斜杠有多重意義,如轉義、指定預定義的字符集、定義斷言、顯示不打印的字符。 ## 轉義字符 轉義字符主要是將一些特殊字符轉為普通字符。而這些常用特殊字符有”.”,”?”、”\”等。 ## 指定預定義的字符集 ![](https://box.kancloud.cn/c61034562460c8b724b92fc858a0036e_422x283.png) ## 顯示不可打印的字符 ![](https://box.kancloud.cn/5dadb9b2a767d9662e5d402e98cfb728_133x280.png) ## 括號字符() 在正則表達式中小括號的作用主要有: 1、改變限定符如(|、* 、^)的作用范圍 如(my|your)baby,如果沒有”()”,|將匹配的是要么是my,要么是yourbaby,有了小括號,匹配的就是mybaby或yourbaby。 2、進行分組,便于反向引用 ## 反向引用 反向引用,就是依靠子表達式的”記憶”功能,匹配連續出現的字串或是字符。如(dqs)(pps)\1\2,表示匹配字符串dqsppsdqspps。在下面php應用中,我將詳細展開學習反向引用。 ## 模式修飾符 模式修飾符的作用是設定模式,也就是正則表達式如何解釋。php中主要模式如下表: ![](https://box.kancloud.cn/6b467a61593e05209cd283ad7f9a5309_179x203.png) ## php中字符串匹配 所謂的字符串匹配,言外之意就是判斷一個字符串中,是否包含或是等于另一個字符串。如果不使用正則,我們可以使用php中提供了很多方法進行這樣的判斷。 strstr - 該函數區分大小寫 stripos -查找字符串首次出現的位置(不區分大小定) strrpos -計算指定字符串在目標字符串中最后一次出現的位置 strripos -計算指定字符串在目標字符串中最后一次出現的位置(不區分大小寫) ## 使用正則進行匹配 在php中,提供了preg_math()和preg_match_all函數進行正則匹配。 返回值: preg_match()返回 pattern 的匹配次數。 它的值將是0次(不匹配)或1次,因為 preg_match()在第一次匹配后 將會停止搜索。 preg_match_all()不同于此,它會一直搜索subject直到到達結尾。 如果發生錯誤 preg_match()返回 FALSE。 ## 郵箱匹配,url匹配,手機匹配 使用preg_match函數進行匹配,以下內容從TP中復制而來。 ### 郵箱驗證 pattern=′/\w+([?+.]\w+)?@\w+([?.]\w+)?\.\w+([?.]\w+)?/’; ### url匹配 ``` pattern='/^http(s?):\/\/(?:[A-za-z0-9-]+\.)+[A-za-z]{2,4}(:\d+)?(?:[\/\?#][\/=\?%\-&~`@[\]\':+!\.#\w]*)?/’; ``` 給URL地址加上 <a> 鏈接 ``` $preg = '/(?:http:\/\/)?([\w.]+[\w\/]*\.[\w.]+[\w\/]*\??[\w=\&\+\%]*)/is'; ``` ``` $content = preg_replace($preg, '<a href="http://\\1" target="_blank">\\1</a>', $content); ``` ### 手機驗證 ``` pattern=′/1[3458]\d10/’; ``` ## php中正則的優缺點 php中正則在某些時候,能幫我們解決php函數很多困難的匹配或是替換。然后php中正則的效率,往往是我們需要考慮的,所以在某些時候,能不用正則還是盡量不去用它,除非,某些場合必須用到,或是我們能夠有效減少其回溯次數。
                  <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>

                              哎呀哎呀视频在线观看