我在网页上使用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>
移动线条至关重要
答案 0 :(得分:40)
要使用动态正则表达式,请参阅我的更新代码:
new RegExp("\\b" + lookup + "\\b").test(textbox.value)
您的具体示例是向后的:
alert((/\b(2)\b/g).test(lookup));
答案 1 :(得分:20)
使用边界断言\b
:
/\bme\b/
答案 2 :(得分:5)
您可以使用以下代码:
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;
}
答案 3 :(得分: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")