0
我正在使用PCRE |^/foo/(.*?)(?::(?:bar)?)?$|
或|^/foo/(.*?)(?::bar)?:?$|
這將是一個替換,所以我們希望從最後剝離:
和:bar
在做替換時。我知道這兩者不完全一樣,但在這裏並不重要。哪個正則表達式更快
我正在使用PCRE |^/foo/(.*?)(?::(?:bar)?)?$|
或|^/foo/(.*?)(?::bar)?:?$|
這將是一個替換,所以我們希望從最後剝離:
和:bar
在做替換時。我知道這兩者不完全一樣,但在這裏並不重要。哪個正則表達式更快
我會使用第一個,因爲它只需要檢查一次:
。第二個可以匹配:bat
的前三個字符,然後再檢查:
。另外,第二個可以匹配:bar:
,而第一個不能。實際的速度差異很小。第二種方式會更好寫成/^\/foo\/(.*?)(?::bar|:)?$/
儘量不要使用正則表達式元字符作爲分隔符!