Я использую JavaScript на своей веб-странице. Я пытаюсь искать единственное целое слово через текстовое поле. Скажите, что я ищу: 'меня', я должен найти весь 'я' в тексте, но не найти, что 'memmm' на говорят.
Я использую поиск JavaScript ('мое regex выражение') для выполнения текущего поиска (без успеха).
Спасибо!
Править: После нескольких предложений использовать переключатели \b [которые, кажется, не работают], я отправляю пересмотренное объяснение своей проблемы:
amm, от некоторой причины это не делает seemt, чтобы сделать приемы. Примите следующий искомый текст 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));
<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")