0

我在 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"?

我明白了

4

0 回答 0