2012-04-11 50 views
0

我正在使用PCRE |^/foo/(.*?)(?::(?:bar)?)?$||^/foo/(.*?)(?::bar)?:?$|這將是一個替換,所以我們希望從最後剝離::bar在做替換時。我知道這兩者不完全一樣,但在這裏並不重要。哪個正則表達式更快

回答

1

我會使用第一個,因爲它只需要檢查一次:。第二個可以匹配:bat的前三個字符,然後再檢查:。另外,第二個可以匹配:bar:,而第一個不能。實際的速度差異很小。第二種方式會更好寫成/^\/foo\/(.*?)(?::bar|:)?$/

儘量不要使用正則表達式元字符作爲分隔符!