^是正則表達式匹配字符串開始位置
$是正則表達式匹配字符串結束位置
很多人始終沒搞清楚這是什么意思,這里用幾個例子看下就一目了然了。
先搞清楚^匹配字符串開始位置(其實就是從字符串左邊第一個字符開始匹配)
1 $str='http://blog.seetiny.com'; 2 $pattern='/^blog/'; /*因為/為特殊字符*/ 3 $str=preg_replace($pattern,'jimmy',$str); 4 echo $str;die;
上面的輸出是:
http://blog.seetiny.com/
改造一下:
1 $str='http://blog.seetiny.com'; 2 $pattern='/^http/'; /*因為/為特殊字符*/ 3 $str=preg_replace($pattern,'jimmy',$str); 4 echo $str;die;
輸出:
jimmy://blog.seetiny.com/
可以看到在已^開始的正則,只從左邊第一個字符匹配,如果沒匹配到,那整個匹配就是失敗的
再看$匹配字符串的結束位置
1 $str='http://blog.seetiny.com'; 2 $pattern='/com$/'; /*因為/為特殊字符*/ 3 $str=preg_replace($pattern,'jimmy',$str); 4 echo $str;die;
輸出:
http://blog.seetiny.jimmy
再看一個例子
1 $str='http://blog.seetiny.com'; 2 $pattern='/iny$/'; /*因為/為特殊字符*/ 3 $str=preg_replace($pattern,'jimmy',$str); 4 echo $str;die;
輸出:
http://blog.seetiny.com
看看同時使用^和$是什么意思呢
1 $str='http://blog.seetiny.com'; 2 $pattern='/^iny$/'; /*因為/為特殊字符*/ 3 $str=preg_replace($pattern,'jimmy',$str); 4 echo $str;die;
輸出:
http://blog.seetiny.com
改成
1 $str='http://blog.seetiny.com'; 2 $pattern='/^http:\/\/blog.seetiny.com$/'; /*因為/為特殊字符*/ 3 $str=preg_replace($pattern,'jimmy',$str); 4 echo $str;die;
輸出:
jimmy
https://www.cnblogs.com/JimmyBright/p/7205851.html