0
  if (searchText.length > 3) {
   regex = new RegExp("(\\W)" + searchText, 'gi');
  }
  else {
   regex = new RegExp("(\\W)\b" + searchText + '\b', 'gi');}
  }

显然,我把这个包装错了,但是如果我想在搜索词是 1、2 或 3 个字符时只匹配整个单词,那么正确的语法是什么?

例如,“do”与“DOne”中的 do 不匹配,但“heat”与“HEATed”中的 heat 匹配

4

1 回答 1

1

尝试这个..

if (searchText.length > 3) 
{
   regex = new RegExp(searchText, 'gi');
}
else 
{
   regex = new RegExp('\b' + searchText + '\b', 'gi');}
}

\W以前不需要\b

于 2013-01-24T09:37:00.363 回答