Laravel проверка бэкэнда preg_match (): неизвестный модификатор '?' используя регулярное выражение - PullRequest
1 голос
/ 19 марта 2020

У меня есть следующее регулярное выражение (\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?

1 Ответ

1 голос
/ 20 марта 2020

Выглядит так, как будто вы пытаетесь сопоставить banana или cherry.

ПРИМЕЧАНИЕ:

  • PHP функции регулярного выражения не поддерживают g флаг
  • Вам нужны как начальные, так и конечные разделители регулярных выражений.

Использование

public function rules()
   {
       return [
         'selection' => ['required', 'regex:/\b(?:cherry|banana)\b/i']
       ];
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...