新聞中心
我們知道在PHP中Perl兼容正則表達式,那么對于Ereg正則表達式我們需要掌握什么呢?這里我們通過Perl兼容正則表達式和Perl/Ereg的區(qū)別分析來向你介紹Ereg正則表達式,希望對你有所幫助。

目前成都創(chuàng)新互聯(lián)公司已為超過千家的企業(yè)提供了網站建設、域名、雅安服務器托管、網站托管、企業(yè)網站設計、左云網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
雖然叫做“Perl兼容正則表達式”,但是和Perl的正則表達式相比,PHP的還是由一些不同,比如修飾符“G”在Perl里面代表全部匹配,但是在PHP中沒有加入對這個修飾符的支持。
關于PHP中Ereg正則表達式的辨析:
還有就是和ereg系列函數(shù)的區(qū)別,ereg也是PHP中提供的正則表達式函數(shù),不過和preg相比,要弱上很多。
1、ereg里面是不需要也不能使用分隔符和修飾符的,所以ereg的功能比preg要弱上不少。
2、關于".":點在正則里面一般是除了換行符以外的全部字符,但是在ereg里面的"."是任意字符,即包括換行符!如果在preg里面希望"."能夠包括換行符,可以在修飾符中加上"s"。
3、ereg默認使用貪婪模式,并且不能修改,這個給很多替換和匹配帶來麻煩。
4、速度:這個或許是很多人關心的問題,會不會preg功能強大是以速度來換取的?不用擔心,preg的速度要遠遠比ereg快,筆者做了一個程序測試:
PHP中Ereg正則表達式time test實例:
- echo "Preg_replace used time:";
- $start = time();
- for($i=1;$i<=100000;$i++) {
- $str = "ssssssssssssssssssssssssssss";
- preg_replace("/s/","",$str);
- }
- $ended = time()-$start;
- echo $ended;
- echo "
- ereg_replace used time:";
- $start = time();
- for($i=1;$i<=100000;$i++) {
- $str = "ssssssssssssssssssssssssssss";
- ereg_replace("s","",$str);
- }
- $ended = time()-$start;
- echo $ended;
- echo "
- str_replace used time:";
- $start = time();
- for($i=1;$i<=100000;$i++) {
- $str = "sssssssssssssssssssssssssssss";
- str_replace("s","",$str);
- }
- $ended = time()-$start;
- echo $ended;
- ?>
PHP中Ereg正則表達式實例結果:
- Preg_replace used time:5
- ereg_replace used time:15
- str_replace used time:2
str_replace因為不需要匹配所以速度非常快,而preg_replace的速度比ereg_replace要快上不少。
PHP中Ereg正則表達式的相關內容就向你介紹到這里,希望對你了解和學習PHP中Ereg正則表達式有所幫助。
當前標題:辨析PHP中Ereg正則表達式
本文來源:http://m.fisionsoft.com.cn/article/dhpisej.html


咨詢
建站咨詢
