私はいくつかのコードを見ていて、preg_replace
.
まず第一preg_replace
に、このタスクを最初に使用するのはやり過ぎであり、不必要にコストがかかる可能性があり、PHP の文字列に適した関数 ( substr
. 私はこれを知っています。
とはいえ、次の 2 つの異なる正規表現を検討してください。
$uri = '/one/cool/uri'; // Desired result '/one/cool'
// Using a back-reference
$parent = preg_replace('#(.*)/.*#', "$1", $uri);
// Using character class negation
$parent = preg_replace('#/[^/]+$#', '', $uri);
デフォルトでは、前者の場合、後方参照を作成すると作成しない場合よりもコストがかかるため、2 番目の例が望ましいと思います。しかし、その後、2 番目の例で使用すると、最初の例で[^/]
対応するものよりもコストがかかるのではないかと考え始めました。.
私は読みやすさの観点から最初の例を好みます。私たちは髪を分割しているので、2 つの間で選択する傾向があります (結局のところ、読みやすいコードを書くことにも価値があります)。ただ、私の個人的な好みかもしれません。
考え?