Независимо от регистра - «SyntaxError: Недопустимое регулярное выражение» - PullRequest
0 голосов
/ 21 сентября 2018

Я создаю англоязычную веб-страницу с верхним меню с поисковым вводом, что вызывает у меня некоторые проблемы ... Я использую RESTHeart API для создания запроса для него.В запросе, отправленном в API, я отправляю следующее:

[a-zA-Z0-9.@-]{4,99}

Этот шаблон должен убедиться, что при поиске ввод не учитывает регистр, и это не работает должным образом, поэтому я посмотрел документацию здесь https://restheart.org/learn/query-documents/ и регулярное выражение должно включать (? I), чтобы быть интерпретированным как "без учета регистра".Итак, я сделал - это отправляемый шаблон:

(?i)[a-zA-Z0-9.@-]{4,99}

Теперь я получаю сообщение об ошибке при загрузке меню:

ERROR SyntaxError: Invalid regular expression: /^(?i)[a-zA-Z0-9.@-]{4,99}$/: Invalid group

Я также пытался жестко кодировать часть (? I), так каккажется, что проблема именно в этой части ...

У кого-нибудь есть идеи, почему это может происходить?Я попробовал https://regex101.com/r/o684Hu/2/, и он работает там ...

Спасибо за ваше время,

Eunito.

1 Ответ

0 голосов
/ 22 сентября 2018

В mongodb оператор запроса $ regex допускает опции

С RESTHeart фильтр запроса должен быть следующим для нечувствительного к регистру запроса регулярного выражения

GET /db/coll?filter={"field":{"$regex": "[a-zA-Z0-9.@-]{4,99}", "$options": "i"}}

для получения дополнительной информациипроверьте опции , доступные для использования с регулярным выражением в документации mongodb.

...