我正在嘗試創建一個javascript正則表達式來替換單詞,但只是整個單詞。當單詞是別人的子詞時,我遇到了問題。例如,假設我想在下面的句子中用「狗」代替「熊」。Javascript正則表達式匹配沒有周圍字符的單詞
熊去beartown與其他熊
這將是:
狗去beartown與其他狗
注:1)beartown沒有改變,因爲它不是整個詞 2.)最後一個「熊」確實改變了,即使它後面沒有任何字符。
我現在的腳本是:
...
var term = this.terms[i];
var pattern = new RegExp(term.name,'ig');
var content = $(this.container).html().replace(pattern,function(match) {
....
目前,它匹配「熊」的所有實例,因此基於Javascript Regex Surrounded by Non-Word Characters, Don't Include Surroundings它不會留下了「beartown」
,我想這個變化:
var pattern = new RegExp('\b' + term.name + '\b','ig');
但是,無論我嘗試什麼樣的變化,它現在都不會匹配。誠然,正則表達式(特別是結合w/javascript)不是我的事情。
任何幫助將不勝感激!
感謝, 傑里米
第二個應該是''\\ b'+ term.name +'\\ b''。你需要避開反斜槓。 – soktinpk 2014-12-04 02:32:40