对任何人都没有任何人
> str.replace(/\bno\b/g, 'yes');
'Owe yes one anything to another'
> str.replace(new RegExp('\bno\b','g'),'yes');
'Owe no one anything to another'
为什么在这种情况下使用RegExp不起作用?我需要使用它才能
var regex = new RegExp('\b'+ **myterm** +'\b','g'); or
var regex = new RegExp('(^|\s)'+ **myterm** +'(?=\s|$)','g');
答案 0 :(得分:2)
以这种方式使用RegEx字符串时,您需要转义反斜杠:
str.replace(new RegExp('\\bno\\b', 'g'), 'yes');
答案 1 :(得分:0)
显然\b
必须被转义,例如
new Regexp('\\b' + **myterm** + '\\b');