我在 laravel 中创建了一条路线
$stagechapter="[1-8]-.*";
$stagestage="[0-9]-.*";
Route::get('/{lang}/{chapter?}/{stage?}', 'StageController@Listing')->where('lang', $langs)->where("chapter",$stagechapter)->where("stage",$stagestage);
我想要 - 之后的任何字符,直到下一个 /,问题是 $chapter 正在捕获两个目录,......所以,当我写
/en/1-chapter1/1-stage1 在浏览器中我得到 $lang="en"、$chapter="1-chapter1/1-stage1" 和 $stage NULL。
我知道 .* 表达式直到最后都得到任何东西所以...所以,什么是正确的正则表达式停止在 / 并获得 $chapter="1-chapter1" 和 $stage="1-stage1"?
我明白了