亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

老生常談php 正則中的i,m,s,x,e分別表示什么

 更新時間:2017年03月02日 10:32:30   投稿:jingxian  
下面小編就為大家?guī)硪黄仙U刾hp 正則中的i,m,s,x,e分別表示什么。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

i          
如果設(shè)定此修正符,模式中的字符將同時匹配大小寫字母。

m       
當(dāng)設(shè)定了此修正符,“行起始”和“行結(jié)束”除了匹配整個字符串開頭和結(jié)束外,還分別匹配其中的換行符的之后和之前。

s        
如果設(shè)定了此修正符,模式中的圓點元字符(.)匹配所有的字符,包括換行符。沒有此設(shè)定的話,則不包括換行符。

x         
如果設(shè)定了此修正符,模式中的空白字符除了被轉(zhuǎn)義的或在字符類中的以外完全被忽略,在未轉(zhuǎn)義的字符類之外的 #以及下一個換行符之間的所有字符,包括兩頭,也都被忽略。

e         
如果設(shè)定了此修正符,preg_replace() 在替換字符串中對逆向引用作正常的替換,

?在 . + 和 * 之后 表示非貪婪匹配: *、+和?限定符都是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的后面加上一個?就可以實現(xiàn)非貪婪或最小匹配。

例如:

<?php
$string = "上飛機離開我<img border='0' alt='' src='/uploadfile/2009/0921/20090921091612567.jpg' border='0' />sdfsdf";

$su = preg_match("/ \<[ ]*img.*src[ ]*\=[ ]*[\"|\'](.+?)[\"|\'] /", $string,$match); // 匹配src=的內(nèi)容
print_r($match[1]); // 輸出 /uploadfile/2009/0921/20090921091612567.jpg

$su = preg_match("/ \<[ ]*img.*src[ ]*\=[ ]*[\"|\'](.+)[\"|\'] /", $string,$match);
print_r($match[1]); // 輸出 /uploadfile/2009/0921/20090921091612567.jpg' border='
?>

例子:(?i):

(?i)在PHP中的意思是內(nèi)部修正符,i指不區(qū)分大小寫

其它的修正符還有x,m,s,U等。和我們使用的模式修正符是一樣的。

區(qū)別在于它是在模式內(nèi)部使用的。僅作用于(?i)所在的子模式內(nèi)

ccc(a(?i))bcd 匹配 cccabcd和cccAbcd

而a(?i)bc則和abc加上\i修正符是一樣的因為(?i)作用于整個模式

后向引用

對一個正則表達式模式或部分模式兩邊添加圓括號將導(dǎo)致相關(guān)匹配存儲到一個臨時緩沖區(qū)中,所捕獲的每個子匹配都按照在正則表達式模式中從左至右所遇到的內(nèi)容存儲。存儲子匹配的緩沖區(qū)編號從 1 開始,連續(xù)編號直至最大 99 個子表達式。每個緩沖區(qū)都可以使用 '\n' 訪問,其中 n 為一個標(biāo)識特定緩沖區(qū)的一位或兩位十進制數(shù)。

可以使用非捕獲元字符 '?:', '?=', or '?!' 來忽略對相關(guān)匹配的保存。

以上這篇老生常談php 正則中的i,m,s,x,e分別表示什么就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論