如何在JavaScript中匹配整个单词?
我试图通过文本框搜索一个完整的单词。如果我搜索“我”,我应该在文本中找到所有出现的“我”一词,但不是每个单词的“memmm” 我正在使用JavaScript的如何在JavaScript中匹配整个单词?,javascript,regex,Javascript,Regex,我试图通过文本框搜索一个完整的单词。如果我搜索“我”,我应该在文本中找到所有出现的“我”一词,但不是每个单词的“memmm” 我正在使用JavaScript的搜索(“我的正则表达式”)执行当前搜索(没有成功) 在提出了几项使用\b开关的建议(这些开关似乎不起作用)之后,我对我的问题发布了一份修订后的解释: 出于某种原因,这似乎不起作用。假设以下JavaScript搜索文本: var lookup = '\n\n\n\n\n\n2 PC Games \n\n\n\n'; loo
搜索(“我的正则表达式”)
执行当前搜索(没有成功)
在提出了几项使用\b
开关的建议(这些开关似乎不起作用)之后,我对我的问题发布了一份修订后的解释:
出于某种原因,这似乎不起作用。假设以下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));
移动线是必要的使用单词边界断言
\b
:
/\bme\b/
要使用动态正则表达式,请参阅我的更新代码:
new RegExp("\\b" + lookup + "\\b").test(textbox.value)
您的具体示例如下:
alert((/\b(2)\b/g).test(lookup));
以下内容从正则表达式构造一个正则表达式,该表达式由单词边界、字符串“lookup”
(不是变量lookup
中包含的值)和单词边界组成。然后,它尝试将此正则表达式与字符串“2”
(通过将数字2
转换为字符串获得)匹配:
(/\b(lookup)\b/g).test(2)
例如,下面返回true
:
(/\b(lookup)\b/g).test("something to lookup somewhere")
您可以使用以下代码:
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;
}
您的代码正在字符串“2”中查找“lookup”。
var str=“pc+pc2/pc2+pc2*rr+pd”代码>var res=str.match(新的RegExp([\\W])pc2([\\W]),'g')
我想要+pc2/
,+pc2*
和/pc2+
。有任何想法@chaospandio。我想检查特殊字符是否存在前后。问题在于第一个匹配/
是删除。因此,在此之后,开始从pc2+pc2*rr+pd
进行检查。我没有得到/pc2+
。
(/\b(lookup)\b/g).test("something to lookup somewhere")
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;
}