一、正則反參照
正規表示式,在PHP中我經常能用到。用的場景也很多,比如,正則匹配字串,判斷字元是否存在,正則替換等等。
例子一:
$string = 'abcd'; $re = preg_replace('/(a)/', '1A',$string);echo $re;//結果 // aAbcd
這裡用到了正則的捕獲組概念和反參照。
解釋:
捕獲組我們可以從第一個`(` 向後數, 第一個括號裡面匹配到的內容,我們可以用 1 來參照,為了看的明顯,特意拼接了 `A` ,其實我們還可以用 $+數位來表示第幾個捕獲組。 這裡可以用$1,效果和1一樣。
例子二:
$string = 'abcd'; $re = preg_replace('/(a)/', '$1B',$string); echo $re; //結果 //aBbcd
二、跳脫符
什麼是跳脫符?
在PHP中我們用 `` 來轉譯一些特殊的字元。
例子三:
$string = 'abcd'; $re = preg_replace('/(a)/', '1B',$string); echo $re;//結果 //aBbcd
解釋: 這裡的 1 把是作為捕獲組的反參照。
例子四:
$string = 'abcd'; $re = preg_replace('/(a)/', '1B',$string); echo $re;//結果 //aBcd
解釋:這裡的` 1 `,第一個``,轉譯了第二個``, 那麼就成了 `1B` , 其實效果和例子三的 `1` 是一樣的。
例子五:
$string = 'abcd'; $re = preg_replace('/(a)/', '1B',$string); echo $re; //結果 //1Bbcd
解釋:這裡的`1`,第一個``,轉譯了第二個``,那麼就剩下了`1`,`` 輸出 ``,最後,就剩下 `1`了。
三、總結
1、PHP正則中的反參照,1 和 $1 效果是一樣的,我們都可以拿來用。
2、PHP正則中的跳脫符,當遇到多個`` 的時候,我們可以先"去掉" 一個,然後,在去匹配。這樣就好理解啦。
相關教學:正規表示式視訊教學
以上就是PHP學習之深入理解正則反參照和跳脫符的詳細內容,更多請關注TW511.COM其它相關文章!