2010-02-09 9 views
18

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

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

Спасибо!

Edit: После того, как несколько предложений использовать \ б переключатели [которые, кажется, не работает] Я отправляю пересмотренное объяснение моей проблемы:

АММ, с каким-то причинам это не seemt делать трюки. Предположу, следующий яваскрипт текст для поиска:

<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> 

Перемещения линия имеет важное значение

+0

ваш код ищет «поиск» в строке «2». – Kobi

ответ

28

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

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

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

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

Regexpal

Regex Object

17

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

/\bme\b/ 
2
<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") 
4

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

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; 
} 
Смежные вопросы