我正在替換字符串中的單詞,並且我試圖根據'\b' + myword + '\b'
進行匹配但是,當myword
兩端都有非單詞字符時,這不起作用。如何匹配包含非單詞字符的單詞?
var myword1 = "testword,";
var myword2 = "(testword";
var testString = "<tag>asdftestword, is a (testwordasdf also (testword </tag> (testword, should be replaced everywhere there is a testword,)";
var rx1 = new RegExp(???(myword1) ,'g');
var rx2 = new RegExp(???(myword2) ,'g');
var result1 = testString.replace(rx1, "replacement");
var result2 = testString.replace(rx2, "replacement");
我想結果是
result1 == "<tag>asdftestword, is a (testwordasdf also (testword </tag> (replacement should be replaced everywhere there is a replacement)"
result2 == "<tag>asdftestword, is a (testwordasdf also replacement </tag> replacement, should be replaced everywhere there is a testword,)"
不能創建一個正則表達式這樣,不管哪個字符'myword'包含。看看[如何將變量傳遞到JavaScript中的正則表達式](http://stackoverflow.com/questions/8574498/how-to-pass-a-variable-into-an-regular-expression-in- JavaScript的)。 – 2012-02-28 22:33:19
適用於所有標點符號,它們是\ b(字的開始/結尾)以外的字符。這很正常。 – inhan 2012-02-28 22:34:50
@FelixKling感謝您的提示。 :) – 2012-02-29 16:44:08