Подтвердить что ты не робот

Целое совпадение слов в javascript

Я использую javascript на своей веб-странице. Я пытаюсь найти одно целое слово через текстовое поле. Скажем, я ищу: "я", я должен найти все "меня" в тексте, но не найти "memmm" для каждого.

Я использую javascript search ('мое выражение регулярного выражения') для выполнения текущего поиска (без успеха).

Спасибо!

Изменить: после нескольких предложений по использованию переключателей \b [которые, похоже, не работают] я публикую пересмотренное объяснение моей проблемы:

amm, по какой-то причине это не похоже на трюки. Предположим, что следующий текстовый текст javascript:

<script type='text/javascript'>
var lookup = '\n\n\n\n\n\n2    PC Games        \n\n\n\n';
lookup  = lookup.trim() ;
alert(lookup );
                var tttt = 'tttt';
                alert((/\b(lookup)\b/g).test(2));

</script>

Перемещение линий важно

4b9b3361

Ответ 1

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

new RegExp("\\b" + lookup + "\\b").test(textbox.value)

Ваш конкретный пример обратный:

alert((/\b(2)\b/g).test(lookup));

Regexpal

Объект регулярного выражения

Ответ 2

Используйте утверждение границы слова \b:

/\bme\b/

Ответ 3

Вы можете использовать следующий код:

var stringTosearch ="test ,string, test"; //true
var stringTosearch ="test string test"; //true
var stringTosearch ="test stringtest"; //false
var stringTosearch ="teststring test"; //false

if (new RegExp("\\b"+"string"+"\\b").test(stringTosearch)) {
  console.log('string found');
  return true;
} else {
  return false;
}

Ответ 4

<script type='text/javascript'>
var lookup = '\n\n\n\n\n\n2    PC Games        \n\n\n\n';
lookup  = lookup.trim() ;
alert(lookup );
                var tttt = 'tttt';
                alert((/\b(lookup)\b/g).test(2));

</script>

Немного сложно сказать, что вы здесь делаете. Предполагается, что должна выполняться переменная tttt?

Какую строку вы пытаетесь найти? Вы пытаетесь найти 2 в строке lookup? Тогда вам нужно:

/\b2\b/.test(lookup)

Следующее из вашего регулярного выражения создает регулярное выражение, состоящее из границы слова, за которым следует строка "lookup" (а не значение, содержащееся в переменной lookup), за которой следует граница слова. Затем он пытается сопоставить это регулярное выражение с строкой "2", полученной путем преобразования числа 2 в строку:

(/\b(lookup)\b/g).test(2)

Например, следующее возвращает true:

(/\b(lookup)\b/g).test("something to lookup somewhere")