我正在替换字符串中的单词,并且我试图根据'\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