Равенство LIKE '% $ word%' в JavaScript RegExp AKA Как создать поисковую систему JavaScript - PullRequest
2 голосов
/ 27 февраля 2012

У меня есть объект localStorage, который содержит данные JSON, которые я уже проанализировал.

В этих данных я хочу найти в массиве что-то, например, «НИЧЕГО ЗДЕСЬ» + ключевое слово + «НИЧЕГО ЗДЕСЬ»; Как запрос SQL "LIKE".


Ах, да, indexOf, кажется, работает нормально для этого. Все, что мне нужно сейчас сделать, - это просто создать простой RegExp для проверки входных данных поиска (только для длины и символов - ничего сложного).

Видите ли, я работаю над локальным приложением, которое пользователи Google Chrome смогут установить в качестве своей домашней страницы, и, надеюсь, я смогу предложить некоторые интересные, ранее не замеченные функции.

Ответы [ 3 ]

2 голосов
/ 27 февраля 2012

Если вы хотите узнать, появляется ли одна строка в другой, вы можете использовать метод indexOf .

if(jsonstring.indexOf(keyword) != -1){
    console.log("keyword appears in jsonstring");
}
1 голос
/ 27 февраля 2012

Может быть, если вы используете JavaScript

pattern = /keyword/g
for(i=0;i<jsonobj.length;i++){
    if(pattern.test(jsonobj[i])){
        // it matches the element that has the text 'keyword' in it
    }
}
0 голосов
/ 17 июня 2019

Попробуйте этот шаблон регулярных выражений /\w*X\w*/gi

Пример. Найдите любое ИЛИ и И вместо заглавных букв.

g: Global i: insensitive m: multi-line

let _like = "examPle OrTeeeeest tOst iAnDi liKe oRNot MK7".replace(/\w*AND\w*|\w*OR\w*/gi, 
  function (x) {
    return x.toUpperCase();
  });
console.log(_like);
...