整个单词匹配在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
变量应该做的?
你想搜索哪个字符串? 你想在字符串lookup
内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")