国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

PHP擴展之文本處理(二)——PCRE正則表達式語法7——內部選項設置

瀏覽:6日期:2022-09-16 08:04:01

PCRE_CASELESS,?PCRE_MULTILINE,?PCRE_DOTALL,?PCRE_UNGREEDY,PCRE_EXTRA,?PCRE_EXTENDED?and PCRE_DUPNAMES 等模式修飾符設置可以在模式內部通過一個 perl 選項字符序列來設置, 語法為:(?修飾符),可用的修飾符有:

Internal option lettersifor?PCRE_CASELESSmfor?PCRE_MULTILINEsfor?PCRE_DOTALLxfor?PCRE_EXTENDEDUfor?PCRE_UNGREEDYXfor?PCRE_EXTRAJfor?PCRE_INFO_JCHANGED

比如,(?im) 設置表明多行大小寫不敏感匹配。同樣可以用它來取消這些設置, 比如 (?im-sx) 設置了PCRE_CASELESS,PCRE_MULTILINE, 但是同時取消了?PCRE_DOTALL?和?PCRE_EXTENDED。 如果一個字母即出現在 - 之前, 也出現在 - 之后,這個選項被取消設置。

當一個選項在模式的最上級(也就是說不在子組中)時, 這個改變會影響模式中剩余部分。比如?/ab(?i)c/?僅僅匹配 ”abc” 和 ”abC”。 這個形式在 PCRE 4.0(PHP 4.3.3) 中被改變。在此之前的版本中, /ab(?i)c/ 行為和 /abc/i 完全一致。

如果一個選項在子組中設置,產生的影響是不同的。這是 perl 5.005 中行為的一個變種。 一個選項在子組內部設置,僅僅改變子組中剩余的部分, 因此?(a(?i)b)c?僅僅匹配 ”abc” 和 ”aBc” (假設沒有使用?PCRE_CASELESS?選項)。 這就意味著選項在模式的不同位置可以造成不同的影響。 在同一個子模式中, 一個分支的選項設置回穿透到后面剩余的其他分支中去。 比如?(a(?i)b|c)?匹配”ab”, “aB”, “c” 和 ”C”。 盡管在匹配 ”C” 時第一個分支會在選項被設定前就被丟棄。 這是因為選項的設定是在編譯期確定的,否則可能會帶來非常怪異的行為。

PCRE 專用選項?PCRE_UNGREEDY?和?PCRE_EXTRA?可以和 perl 兼容選項以同樣的方式來改變, 分別使用字母 U 和 X. (?X) 標記設定有些特殊,它必須出現在任何其他特性之前, 最好放在最開頭的位置。

標簽: PHP
相關文章:
主站蜘蛛池模板: 欧美色v | 黄大片日本一级在线a | 看一级毛片一区二区三区免费 | 欧美一级毛片在线看视频 | 成年人国产视频 | 国产午夜亚洲精品理论片不卡 | 久久精品国产三级不卡 | 88精品视频 | 成年女人免费视频播放成年m | 亚洲福利影视 | 一区二区三区亚洲视频 | 国产精品久久福利网站 | 国产高清一区二区 | 成人高清视频免费观看 | 国产精品久久久久国产精品 | 一级片免费视频 | 日日操夜夜爽 | 国产精品三级一区二区 | 亚洲日韩视频免费观看 | 毛片在线免费播放 | 国产在线播放免费 | 欧美 自拍 | 精产网红自拍在线 | 国产成人综合手机在线播放 | 日本在线理论片 | 美国做受三级的视频播放 | 免费一级毛片在线播放欧美 | 欧美高清日本三级人妇 | 男女男精品视频 | 一区二区亚洲精品 | 亚洲最大看欧美片网站 | 亚洲天堂男人在线 | 亚洲精品综合一区二区三区在线 | 久久www视频| 97国产影院 | 欧美最新的精品videoss | 国产精品久久久久9999小说 | 久久九九亚洲精品 | 欧美一级特黄乱妇高清视频 | 久久精品国产亚洲网址 | 成人国产在线看不卡 |