php正則修正符用法詳解

來源:互聯網
上載者:User
Regex中常用的模式修正符有i、g、m、s、x、e等。它們之間可以組合搭配使用。
它們的作用如下:
//修正符:i 不區分大小寫匹配;
//修正符:g表示全域匹配
//修正符:m 將字串視為多行,不管是那行都能匹配;
//修正符:s 將字串視為單行,分行符號作為一般字元;
//修正符:x 將模式中的空白忽略;
//修正符:A 強制從目標字串開頭匹配;
//修正符:D 如果使用$限制結尾字元,則不允許結尾有換行;
//修正符:U 只匹配最近的一個字串;不重複匹配;

<?php   //標記在整個模式之外;   // 例://$mode="/\bis\b/U",其中U在外面;  //修正符:i 不區分大小寫匹配;     //如:"/abc/i"可以與abc或aBC或ABc等匹配;  //修正符:m 將字串視為多行,不管是那行都能匹配;  //  例://模式為:$mode="/abc/m";     //要匹配的字串為:$str="bcefg5e\nabcdfe"     //注意其中\n,換行了;abc換到了下一行;     //$str和$mode仍可以匹配,修正符m使得多行也可匹配;  //修正符:s 將字串視為單行,分行符號作為一般字元;   // 例://模式為:$mode="/pr.y/";      //要匹配字串為:$str="pr\ny";      //兩者不可匹配; . 是除了換行以外的字元可匹配;      //修改下模式為:$mode="/pr.y/s";        //其中修正符s將\n視為一般字元,即不是換行;      //最後兩者可以匹配;  //修正符:x 將模式中的空白忽略;  //修正符:A 強制從目標字串開頭匹配;   // 例://$mode="/abc/A";      //可以與$str="abcsdfi"匹配,      //不可以與$str2="sdsdabc"匹配;      //因為$str2不是以abc開頭;  //修正符:D 如果使用$限制結尾字元,則不允許結尾有換行;  //  例://模式為:$mode="/abc$/";      //可以與最後有換行的$str="adshabc\n"匹配;      //元子符$會忽略最後的換行\n;      //如果模式為:$mode="/abc/D",      //則不能與$str="adshabc\n"匹配,      //修正符D限制其不可有換行;必需以abc結尾;  //修正符:U 只匹配最近的一個字串;不重複匹配;  //  例:  //   如模式為:      $mode="/a.*c/";      $str="abcabbbcabbbbbc" ;      preg_match($mode,$str,$content);      echo $content[0]; //輸出:abcabbbcabbbbbc;      //如果$mode="/a.*c/";變成$mode="/a.*c/U";      // 則只匹配最近一個字串,輸出:abc;//修正符:e 配合函數preg_replace()使用,//      可以把匹配來的字串當作Regex執行;?>

聯繫我們

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