次の正規表現があります。
#^/workorder/(.*)/#
次の URI を提供します。
/workorder/archive/2/
preg_match() からの $matches 変数が返されますarchive/2/
正規表現の最後が貪欲に/
なるのを止めないのはなぜですか? 区切り文字が見つかっ(.*)
たときに正規表現を停止するには何を追加すればよいですか?/
次の正規表現があります。
#^/workorder/(.*)/#
次の URI を提供します。
/workorder/archive/2/
preg_match() からの $matches 変数が返されますarchive/2/
正規表現の最後が貪欲に/
なるのを止めないのはなぜですか? 区切り文字が見つかっ(.*)
たときに正規表現を停止するには何を追加すればよいですか?/
欲張りでないようにするには、に(.*)
置き換えます。(.*?)
ここに良い説明があります:貪欲なマッチと貪欲でないマッチ
これでうまくいきます。
^/workorder/([^/]*)/
貪欲(怠惰)にならないようにするには
^/workorder/(.*?)/
しかし、これはパフォーマンスに良くないバックトラッキングを使用します。使用する
^/workorder/([^/]*)/
あなたのケーキを持って、それを速く食べるために