Ответ 1
Чтобы использовать динамическое регулярное выражение, см. мой обновленный код:
new RegExp("\\b" + lookup + "\\b").test(textbox.value)
Ваш конкретный пример обратный:
alert((/\b(2)\b/g).test(lookup));
Я использую 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>
Перемещение линий важно
Чтобы использовать динамическое регулярное выражение, см. мой обновленный код:
new RegExp("\\b" + lookup + "\\b").test(textbox.value)
Ваш конкретный пример обратный:
alert((/\b(2)\b/g).test(lookup));
Используйте утверждение границы слова \b
:
/\bme\b/
Вы можете использовать следующий код:
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;
}
<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")