Uncaught SyntaxError:提供给RegExp构造函数'\ b'的无效标志

时间:2015-05-20 21:03:12

标签: javascript regex

我正在尝试使用以下内容搜索字符串中的特定单词('cow'):

var regex = new RegExp('cow', '\\b');

我只希望使用'\ b'表达来定位'cow',而不是使用'cow'或'cows'等包含'cow'的单词,但这导致:

  

Uncaught SyntaxError:提供给RegExp构造函数的无效标志   '\ B'

我试图使用'b','\ b','/ \ b',但都会导致同样的错误。

我需要使用的正确表达是什么?

2 个答案:

答案 0 :(得分:1)

您将正则表达式特殊字符与标志混淆,应该是:

var regex = new RegExp('\\bcow\\b', 'g');

g是全局标志,用于搜索所提供的字符串以查找所有匹配项。

参考文献:

答案 1 :(得分:0)

RegExp对象的第二个参数是gi等标记。只需使用

var regex = new RegExp('\\bcow\\b');

或只是使用正则表达式分隔符:

var regex = /\bcow\b/;