Я пытаюсь создать функцию поиска для проекта, который сужает элементы на основе ввода пользовательского поиска, и если он соответствует ключевым словам, указанным в отношении элементов. Для этого я сохраняю ключевые слова элемента в атрибуте data
и сопоставляя запрос с этими ключевыми словами, используя шаблон RegExp.
В настоящее время я использую это выражение, которое, как я знаю, неверно и вам нужна ваша помощь:
new RegExp('\\b(' + query + ')', 'gi')))
где запрос |
разделенные значения запроса, введенного пользователем (например, \\b(meat|pasta|dinner)
). Это возвращает мне совпадение, даже если есть только 1 совпадение, скажем, например - meat
Просто, чтобы бросить какой-то контекст, вот небольшой пример:
Если пользователь вводит: meat pasta dinner
, он должен перечислить все элементы, у которых есть ВСЕ 3 ключевых слова, указанных против них, т.е. meat
pasta
и dinner
. Они не зависят от порядка, в котором они введены.
Можете ли вы помочь мне с выражением, которое будет соответствовать всем словам в запросе в любом порядке?