PHPRegex的一些學習

來源:互聯網
上載者:User
PHP 正則表達基本文法應用學習。



^ 開始


$ 結束


* 匹配零個或者更多 zero or more


"ab*" 匹配字串a和0個或者更多的b組成的字串("a" "ab" "abb" "abbbbbb" etc)


+ 匹配一個或者更多 one or more


"ab+" 匹配字串a和一個或者更多b組成的字串("ab" "abb" "abbbbbb" etc) 跟*的區別就是後面必須匹配一個b


?匹配零個或一個 zero or one


"ab?" 匹配0個或者一個b ("a", "ab")


.*? 常用來匹配 一大段字串 即不需要規則的字串,就是不用匹配直接想略過去的


例子:


"a?b+$" 匹配一個或者0個a 再加上一個以上的b結尾的字串 ("b" "ab" "bbbbb" "abbbbbbb")






當然也可以在後面的大括弧裡面加上限制字元出現的個數


"ab{2}" 匹配一個a後面必須跟倆個b 即 "abb"


"ab{2,}" 匹配一個a 後面的b必須大於等於2個 "abb" "abbb" "abbbbb"


"ab{2,5}" 匹配一個a 後面的b在2到5之間 "abb" "abbb" "abbbb" "abbbbb"




但是小於兩個b 就不能這樣"ab{,2}" 必須是這樣"ab{0,2}"


於是對於


* 就知道等價於 {0,}


+ 等價於 {1,}


? 等價於 {0,1}




()就是把一些字串連結起來,用來匹配的


"a(bc)*" 就是匹配一個a然後後面跟0個bc或者多個bc "a" "abc" "abcbc" "abcbcbc" etc




| 這個字元相當於 OR操作


"hi|hello" 匹配含有hi 或者 是hello 的字串


"(b|cd)ef" 匹配含有bef 或者cdef的字串


"(a|c)*d" 匹配含有 "d" "ad" "cd" "aab" "ccd" "aaaaaaad" "cccccccd"






.可以代表所有的單一字元




"a.[0-9]" 可以匹配一個a 然後跟一個字串 最後再跟一個數字 "aj9" "a<8" 其中中間的只要是單一的字元都是可以的


"^.{3}$" 以三個單一字元開始和結尾的 "asd" 多餘三個單一的字元就不能被匹配 如"kjl."


[] 該符號包括住的內容只匹配一個單一的字元


"[ab]" 就是只匹配單個的a 或者單個的b 等價於 "a|b"


"[a-z]" 就是匹配26個小寫字母


"^[a-zA-Z]" 匹配以字母開頭的字串


"[0-9]%" 就是匹配含有形如 x% 的字串


",[a-zA-Z0-9]$" 匹配以逗號然後再加一個數字或者字母結尾的字串 ",0" ",a" etc


PHP 一些常用的替代符號




## 或者// 表示分界符 單個的/表示逸出字元


\s表示匹配空白的東西


\d 匹配一個數字字元


\w 匹配包括底線的任何單詞字元



網上大神總結的比較全的文法。


點擊開啟連結
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.