Laravel 中路由参数使用正则验证时,怎么给正则加上模式修正符?

现在有个车牌 沪A12345, 用正则 "/^[\x{4e00}-\x{9fa5}]{1}[a-zA-Z]{1}[a-zA-Z\d]{5}$/u" 是可以验证通过的,因为php本身的原因匹配中文必须加上模式修正符 'u' 。 但是laravel的路由参数验证中允许的正则格式是 ->where('name','[A-Za-z]+'); 这样的, 所以请问下该怎么加上模式修正符?


// 这样会报错。
$router->get('car/{license}/lastorder', 'CarController@lastorder')->where('license', "/^[\x{4e00}-\x{9fa5}]{1}[a-zA-Z]{1}[a-zA-Z\d]{5}$/u");  
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4

来人... :disappointed_relieved:

7年前 评论
TimJuly

貌似子组不支持修饰符,到你的Controller里再判断一遍吧.

7年前 评论

@TimJuly 同意,路由正则建议不要太复杂

7年前 评论

@edwin404 其实就是单纯想匹配个中文...

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!