preg_match():编译失败:字符类中的范围无效

时间:2019-03-03 19:58:50

标签: laravel vue.js

我是laravel vuejs的初学者,当我尝试刷新页面时,我收到了这样的错误消息,这是我来自Web文件的代码:

Route::get('{path}',"HomeController@index")->where('path','(-a-z0-9_\s)');

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

通过查看正则表达式,即使它经过编译,您也可能找不到与之匹配的URI,因此您将获得Laravel No Route异常。

您可能应该使用括号[]来设置字符范围,并添加+以多次匹配该范围以制作单词或短语。使用此正则表达式:

[-a-z0-9_\s]+

路线代码:

Route::get('{path}',"HomeController@index")->where('path','[-a-z0-9_\s]+');

或在括号内使用括号:

Route::get('{path}',"HomeController@index")->where('path','([-a-z0-9_\s]+)');

下次使用https://regex101.com/通过Regex验证您的字符串

答案 1 :(得分:0)

您只需要像这样更改代码

Route::get('{path}',"HomeController@index")->where('path','[-a-z0-9_\s]+');