Laravel 后端验证 preg_match(): 未知修饰符 '?' 使用正则表达式

如果我只是测试它的正则表达式,我有以下正(\bcherry\b)?(\bbanana\b)?/gi则表达式,但是当我将它应用于我在 Laravel 中的后端验证时,我得到一个preg_match(): Unknown modifier '?'错误。


   public function rules()

   {

       return [

         'selection' => ['required', 'regex:(\bcherry\b)?(\bbanana\b)?/gi']

       ];

   }

我已经尝试逃避'?有一个 \ 但后来我得到一个preg_match(): Unknown modifier '\'错误


如何编写一个正则表达式来检查 Laravel 中的输入是“樱桃”还是“香蕉”?


犯罪嫌疑人X
浏览 126回答 1
1回答

慕姐4208626

看起来好像您正在尝试匹配 abanana或cherry.笔记:PHP 正则表达式函数不支持g标志您需要前导和尾随正则表达式分隔符。利用public function rules()   {       return [         'selection' => ['required', 'regex:/\b(?:cherry|banana)\b/i']       ];   }
打开App,查看更多内容
随时随地看视频慕课网APP