辨析PHP中EregRegex_PHP教程

來源:互聯網
上載者:User
我們知道在PHP中Perl相容Regex,那麼對於EregRegex我們需要掌握什麼呢?這裡我們通過Perl相容Regex和Perl/Ereg的區別分析來向你介紹EregRegex,希望對你有所協助。

雖然叫做“Perl相容Regex”,但是和Perl的Regex相比,PHP的還是由一些不同,比如修飾符“G”在Perl裡面代表全部匹配,但是在PHP中沒有加入對這個修飾符的支援。

關於PHP中EregRegex的辨析:

還有就是和ereg系列函數的區別,ereg也是PHP中提供的Regex函數,不過和preg相比,要弱上很多。

1、ereg裡面是不需要也不能使用分隔字元和修飾符的,所以ereg的功能比preg要弱上不少。

2、關於".":點在正則裡面一般是除了分行符號以外的全部字元,但是在ereg裡面的"."是任一字元,即包括分行符號!如果在preg裡面希望"."能夠包括分行符號,可以在修飾符中加上"s"。

3、ereg預設使用貪婪模式,並且不能修改,這個給很多替換和匹配帶來麻煩。

4、速度:這個或許是很多人關心的問題,會不會preg功能強大是以速度來換取的?不用擔心,preg的速度要遠遠比ereg快,筆者做了一個程式測試:

PHP中EregRegextime test執行個體:

 
  1. echo "Preg_replace used time:";
  2. $start = time();
  3. for($i=1;$i<=100000;$i++) {
  4. $str = "ssssssssssssssssssssssssssss";
  5. preg_replace("/s/","",$str);
  6. }
  7. $ended = time()-$start;
  8. echo $ended;
  9. echo "
  10. ereg_replace used time:";
  11. $start = time();
  12. for($i=1;$i<=100000;$i++) {
  13. $str = "ssssssssssssssssssssssssssss";
  14. ereg_replace("s","",$str);
  15. }
  16. $ended = time()-$start;
  17. echo $ended;
  18. echo "
  19. str_replace used time:";
  20. $start = time();
  21. for($i=1;$i<=100000;$i++) {
  22. $str = "sssssssssssssssssssssssssssss";
  23. str_replace("s","",$str);
  24. }
  25. $ended = time()-$start;
  26. echo $ended;
  27. ?>

PHP中EregRegex執行個體結果:

 
  1. Preg_replace used time:5
  2. ereg_replace used time:15
  3. str_replace used time:2

str_replace因為不需要匹配所以速度非常快,而preg_replace的速度比ereg_replace要快上不少。

PHP中EregRegex的相關內容就向你介紹到這裡,希望對你瞭解和學習PHP中EregRegex有所協助。


http://www.bkjia.com/PHPjc/446583.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446583.htmlTechArticle我們知道在PHP中Perl相容Regex,那麼對於EregRegex我們需要掌握什麼呢?這裡我們通過Perl相容Regex和Perl/Ereg的區別分析來...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.