回覆列表
-
1 # 顧得上顧不上
-
2 # pietr49411
優點: 正則表示式可以處理比較複雜的文字資料處理如匹配、替換、分割,比著php中的原生字串函式功能更強,比如處理url,處理文字,驗證規則缺點: 有強大的功能,但是處理速度比著原生字串函式要慢原則上能用原生的函式不用php中正則表示式
優點: 正則表示式可以處理比較複雜的文字資料處理如匹配、替換、分割,比著php中的原生字串函式功能更強,比如處理url,處理文字,驗證規則缺點: 有強大的功能,但是處理速度比著原生字串函式要慢原則上能用原生的函式不用php中正則表示式
我覺得最大的缺點有以下幾個方面:1.正則表示式只適合匹配文字字面,不適合匹配文字意義:像匹配url,email這種純文字的字元就很好,但比如匹配多少範圍到多少範圍的數字,如果你這個範圍很複雜的話用正則就很麻煩。或者匹配html,這個是很多人經常遇到的,寫一個複雜匹配html的正則很麻煩,不如使用針對特定意義的處理器來處理(比如寫語法分析器,dom分析器等)2.容易引起效能問題:像.*這種貪婪匹配符號很容易造成大量的回溯,效能有時候會有上百萬倍的下降,編寫好的正則表示式要對正則引擎執行方式有很清楚的理解才可以3.正則的替換功能較差:甚至沒有基本的擷取字串或者把首字母改變大小寫的功能,這對於url重寫引擎有時候是致命的影響但是也有優點:只要熟練應用正則表示式,而且匹配的目標是純文字,那麼相比於寫分析器來說,正則可以更快速的完成工作。還有在捕獲字串的能力,正則也可以很好的完成工作,比如擷取url的域名或者其他的內容等等