1

他の人には何も借りていない

> 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');
4

2 に答える 2

2

この方法で RegExp 文字列を使用する場合は、バックスラッシュをエスケープする必要があります。

str.replace(new RegExp('\\bno\\b', 'g'), 'yes');
于 2012-06-26T17:12:33.267 に答える
0

どうやら、\bエスケープする必要がありました。たとえば、

new Regexp('\\b' + **myterm** + '\\b');
于 2012-06-26T17:12:09.570 に答える