整个单词匹配在JavaScript中

我在我的网页上使用JavaScript。 我试图通过文本框搜索一个单一的整个单词。 说我搜索:'我',我应该找到文本中的所有'我',但没有找到'memmm'说。

我正在使用JavaScript的搜索(“我的正则表达式”)执行当前的搜索(没有成功)。

谢谢!

编辑:几个建议使用\ b开关[这似乎并不工作]我发布我的问题的修订解释:

嗯,从某种原因来看,这似乎并没有这么花招。 假设以下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)); 

Regexpal

正则表达式对象

使用字边界断言\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变量应该做的?

你想搜索哪个字符串? 你想在字符串lookuplookup吗? 那么你会想要:

 /\b2\b/.test(lookup) 

以下是从正则表达式构造的正则表达式,它由一个字边界组成,后跟字符串"lookup" (不是变量lookup包含的值),后面是一个字边界。 然后尝试将此正则表达式与通过将数字2转换为字符串获得的字符串"2"匹配:

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

例如,以下返回true

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