我如何制作一个正则表达式,这意味着/某个字符串/后跟换行符?

时间:2013-06-04 02:52:24

标签: javascript regex

function(input){
    return input.replace(/teststring/ig, "adifferentstring");
}

我想用“adifferentstring”替换“teststring”和“teststring \ n”

4 个答案:

答案 0 :(得分:4)

尝试

function(input){
   return input.replace(/teststring\n?/ig, "adifferentstring");
}

答案 1 :(得分:4)

在正则表达式中,要匹配特定字符,您可以将其放在括号中:

[\n]

要使匹配为“可选”,您可以使用?

进行操作
[\n]?

在您的确切示例中,您的完整正则表达式可能是:

teststring[\n]?

所以,你的功能看起来像是:

function replace(input) {
    return input.replace(/teststring[\n]?/ig, "adifferentstring");
}

我建议使用括号中的匹配字符,这样可以轻松扩展;例如,考虑一下你想要匹配Window的换行符(回车符+换行符):

teststring[\r\n]?

答案 2 :(得分:4)

尝试.replace(/teststring[\n]?/ig,"adifferentstring");

答案 3 :(得分:2)

这将是这样的:

var re = /teststring([\n]?)/ig;

那么你的替换语句就像这样:

return input.replace(re,"adifferentstring");

这是显示正则表达式的fiddle

然后显示替换操作的fiddle

编辑:

实际上,如果你的正则表达式匹配回车符或新行符号,那么进一步考虑问题,需要将其放回到替换字符串中。我最初发布的相同正则表达式将起作用,但您需要使用此替换语句($1表示parantheses中的第一个组。

return input.replace(re,"adifferentstring$1");

fiddle