使用正则表达式查找和替换

时间:2013-06-22 11:47:22

标签: javascript regex

答案应该很简单。但我是正则表达式的新手。

我想做的只是找到并替换:

例如:iti $%#sa12c@#ombina#$tion.43of // .45simp5./l7e5andsp75e$%cial23$#of%charecters

在上面的句子中,将“of”改为“in”

我尝试了这个,但没有得到结果,请帮帮我。

string="iti$%#sa12c@#ombina#$tion.43of//.45simp5./l7e5andsp75e$%cial23$#of%charecters";
var string2=string.replace("/(\w*\W*)of(\w*\W*)/g","$1in$2");
console.warn(string2);

5 个答案:

答案 0 :(得分:4)

修正regex literal(无引号)并使用字词边界(\b,无需使用$1$2):

var string2 = string.replace(/\bof\b/g, "in");

答案 1 :(得分:2)

为什么不是一个简单的var replaced = yourString.replace(/of/g, 'in');

答案 2 :(得分:1)

在不使用正则表达式的情况下全局替换。

function replaceMulti(myword, word, replacement) {
    return myword.split(word).join(replacement);
}

var inputString = 'iti$%#sa12c@#ombina#$tion.43of//.45simp5./l7e5andsp75e$%cial23$#of%charecters';

var outputString = replaceMulti(inputString, 'of', 'in');

答案 3 :(得分:0)

正则表达式是JavaScript中的文字或对象,而不是字符串。

所以:

/(\w*\W*)of(\w*\W*)/g

或:

new Regexp("(\\w*\\W*)of(\\w*\\W*)","g");

答案 4 :(得分:0)

喜欢这个吗?

str.replace("of","in");