Javascript 如何搜索仅出现在完整单词中的表达式

Javascript 如何搜索仅出现在完整单词中的表达式,javascript,regex,string,match,Javascript,Regex,String,Match,我想在javascript(regex?)中创建一个搜索条件,执行以下操作: 关于这一案文: I want to know better how#to do.expressions 我希望如果我搜索字母“t”,我不会得到任何匹配结果只有在搜索“to”或“better”等完整单词时,我才能找到匹配项。我对完整单词的定义是空格和任何其他字符,如“#?”:“.”等。。。(因此,“how”、“do”和“expressions”等词也会匹配) 假设我的文本输入字段是str,我这样写代码: str = "

我想在javascript(regex?)中创建一个搜索条件,执行以下操作:

关于这一案文:

I want to know better how#to do.expressions
我希望如果我搜索字母“t”,我不会得到任何匹配结果只有在搜索“to”或“better”等完整单词时,我才能找到匹配项。我对完整单词的定义是空格和任何其他字符,如“#?”:“.”等。。。(因此,“how”、“do”和“expressions”等词也会匹配)

假设我的文本输入字段是
str
,我这样写代码:

str = "to";
regexp = new RegExp(str, 'g');
match = regexp.exec(string);

我应该如何编写它以匹配我的条件(只选择完整的单词)

使用
\b
匹配单词边界。例如:

> var input = 'I want to know better how#to do.expressions';
  var re = /\bto\b/gi;
  var match = re.exec(input);
> match
  ["to"]
现在,由于您正在动态构建正则表达式,您应该:


这将收集至少由2个字符组成的所有单词:

string.match(/\w{2,}/g);

另外,理解你的问题很痛苦。

看起来很棒。你的第一个例子很好。但第二个示例不断向我发送错误,即未定义Regexp,如果我将其更改为Regexp,则-javascript不知道什么是quate。知道怎么回事吗?@对不起,你是对的。它应该是
RegExp
,而不是
RegExp
。现在,如果你读了我链接的问题,你会看到问题的确切解决方案。
string.match(/\w{2,}/g);