Я пытаюсь построить поиск с использованием регулярного выражения, которое использует определенные термины для разделения и фильтрации поискового запроса. Например, если у меня есть такой запрос, как: artist rolling stones track stupid girl track paint it black
, он вытаскивает альбомы, которые принадлежат Rolling Stones, и имеет трековую тупую девушку и рисует ее черным. В идеале (после небольшой обработки) я отправил данные на сервер следующим образом: { artists : ['rolling stone'], tracks : ['stupid girl', 'paint it black'] }
.Фильтрование ключевых слов с регулярным выражением
У меня есть основное регулярное выражение, которое соответствует ключевому слову (художнику/дорожке) и первому слову после ключевого слова (roll/stupid/paint), однако, если я сделаю его совпадающим с пробелами и словами после, он просто соответствует целая строка.
Это регулярное выражение, которое у меня есть: (artist|track)\s([\w]+)
. Я предполагаю, что мне нужно использовать стоп-слова или что-то, чтобы создать границу между фразами, но я не супер опыт с созданием регулярного выражения. Любая помощь будет принята с благодарностью.
пожалуйста, вы можете разместить свой вход и выход ясно? – parthi
Вход: 'художник катящийся камень трек глупый девушка трек краска это черный'. Я хочу, чтобы регулярное выражение находило фразы: «художник катящийся камень», «трек глупые девушки», «трек краска черная». – RoryGilchrist
В строке запроса может быть неограниченное количество фраз 'artist artist name' и' track track name'. Там могут быть и следы или просто художник, или, может быть, даже наоборот. Это достаточно ясно для вас? – RoryGilchrist