PHPRegex考察點

來源:互聯網
上載者:User

標籤:array   目標   []   replace   數組   pre   錯誤   分隔字元   reg   

Regex的作用    分隔、尋找、匹配、替換字串Regex的組成部分分隔字元    "/" 、 "#" 、 "~"通用原子    \d : 十進位的0-9    \D : 對\d取反:除了0-9    \w : 數字、字母、下畫線    \W : 除了數字、字母、下畫線    \s : 空格、分行符號、換頁符、斷行符號符、字表符    \S : 除了空格、分行符號、換頁符、斷行符號符、字表符常用原子符    . : 除了分行符號之外的任一字元    * : 匹配前面內容出現0次、1次或多次    ? : 匹配前面內容出現0次或1次    ^ : 開頭    dollar符 : 結尾    + : 匹配前面內容出現1次或多次    {n} : 出現n次    {n,} :出現大於等於n次    {n,m} : 出現大於等於n次 小於等於m次    [] : 集合,匹配中括弧裡面的[abc]則是匹配a 或 b 或 c    () : 後向引用或當作整體    [^] : 取反[^abc]除了a 、除了b、 除了c    | : 或者    [-] : 表示範圍模式修正符    i : 不區分大小寫    m : 多文字模式    s : 單行模式    U : 取消貪婪模式    x : 忽略模式中的空白符    A : 必須以該模式開頭    D : 如果這個修飾符被設定, 模式中的元字元貨幣符號僅僅匹配目標字串的末尾. 如果這個修飾符 沒有設定, 當字串以一個分行符號結尾時, 貨幣符號還會匹配該分行符號(但不會匹配之前的任何分行符號). 如果設定了修飾符m, 這個修飾符被忽略    u : 進行utf-8匹配後向引用$str = ‘<b>abc</b>‘;$pattern = ‘/<b>(.*)<\/b>/‘;preg_replace($pattern,‘\\1‘,$str);//這裡\1代表的就是括弧裡匹配上的內容,也就是abc  貪婪模式$str = ‘<b>abc</b><b>bcd</b>‘;//匹配每一不b標籤$pattern = ‘/<b>(.*?)<\/b>/‘;//.*存在貪婪模式,會一直匹配到最後,加上問號後 取消貪婪模式,匹配一個之後再進行下一個匹配  preg_replace($pattern,‘\\1‘,$str);//使用以下方法也可以取消貪婪模式$pattern = ‘/<b>(.*)<\/b>/U‘;RegexPCRE函數    preg_filter — 執行一個Regex搜尋和替換    preg_grep — 返回匹配模式的數組條目    preg_last_error — 返回最後一個PCRE正則執行產生的錯誤碼    preg_match_all — 執行一個全域Regex匹配    preg_match — 執行匹配Regex    preg_quote — 轉義Regex字元    preg_replace_callback_array — Perform a regular expression search and replace using callbacks    preg_replace_callback — 執行一個Regex搜尋並且使用一個回調進行替換    preg_replace — 執行一個Regex的搜尋和替換    preg_split — 通過一個Regex分隔字串例子寫出一個Regex,取出頁面中所有img標籤中的src值$str = ‘<img alt="xxx" src="aaa.jpg" />‘;$pattern = ‘/<img.*?src=["\‘].*?["\‘].*?\/?>/‘;/** * 分析 * img的標籤特性:有<img開頭,中間可能有其他屬性:所以有<img.*? * src標籤:src=["\‘].*?["\‘]  可能是以單引號或雙引號 * 後面可能還有別的屬性:.*? * 以/> 或 >結尾: /?> * 最終拼接成:<img.*?src=["\‘].*?["\‘].*?\/?> **/

 

PHPRegex考察點

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.