Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将完整单词与JavaScript RegExp匹配_Javascript_Regex - Fatal编程技术网

将完整单词与JavaScript RegExp匹配

将完整单词与JavaScript RegExp匹配,javascript,regex,Javascript,Regex,我想在字符串中查找一个单词 re = new RegExp("bob"); checkWord = re.test("This is bobby!"); if (checkWord) { break; } 我想要checkWord=false,因为我只是在寻找“bob”,但它需要checkWord=true,因为“bobby”包含“bob”这个词。我能做些什么来解决这个问题?谢谢。应该使用单词边界 re = /\bbob\b/; 您可以通过两种不同的方式实现这一点: 给边界 \bbob\b

我想在字符串中查找一个单词

re = new RegExp("bob");
checkWord = re.test("This is bobby!");
if (checkWord) { break; }

我想要checkWord=false,因为我只是在寻找“bob”,但它需要checkWord=true,因为“bobby”包含“bob”这个词。我能做些什么来解决这个问题?谢谢。

应该使用单词边界

re = /\bbob\b/;

您可以通过两种不同的方式实现这一点:

给边界

\bbob\b    
或者将他们分组

\b(bob)\b 
两者都会起作用

这是一个工作示例:


如果您使用的是数组,则循环每个数组并分别进行检查。

为此,您也可以尝试以下方法

nameArray = new Array("Bob", "Ben", "Don");
for (i = 0; i < nameArray.length; i++) {
    if(nameArray[i].indexOf("Bob") != -1)
    {
    alert("true");
    }
    else
    {
      alert("false");
    }
}
nameArray=新数组(“Bob”、“Ben”、“Don”);
对于(i=0;i
如果我有一个名称数组,比如。。nameArray=新数组(“bob”、“Ben”、“Don”);我怎么把它们放进。。re=/\b“+nameArray[i]+“\b/;您可以将它们粘合在一起,就像
re=newregexp(“\b”(“+nameArray.join(“|”)一样谢谢。它正在工作。但我还有最后一个问题。如何在数组中使用边界。我尝试了re=“/\b”(+nameArray[I]+”)\b/”;它不起作用。@SherleneTan我试着这么做,但奇怪的是,我有同样的问题:我认为你应该接受答案并用数组打开一个新问题,因为标题是
匹配一个完整的单词(有答案)好的,谢谢你的推荐。(另外,你的问题会有更多的人。)