function(input){
return input.replace(/teststring/ig, "adifferentstring");
}
我想用“a differentstring”替换“teststring”和“teststring\n”
function(input){
return input.replace(/teststring/ig, "adifferentstring");
}
我想用“a differentstring”替换“teststring”和“teststring\n”
尝试
function(input){
return input.replace(/teststring\n?/ig, "adifferentstring");
}
在正则表达式中,要匹配特定字符,您可以将其放在括号中:
[\n]
要使匹配成为“可选”,您可以在其后面加上?
:
[\n]?
在您的确切示例中,您的完整正则表达式可能是:
teststring[\n]?
所以,你的函数看起来像:
function replace(input) {
return input.replace(/teststring[\n]?/ig, "adifferentstring");
}
我建议在括号中使用匹配的字符,因为这样便于扩展;例如,考虑您想要匹配 Window 的换行符(回车符 + 换行符):
teststring[\r\n]?
尝试.replace(/teststring[\n]?/ig,"adifferentstring");
它会是这样的:
var re = /teststring([\n]?)/ig;
那么您的替换语句将如下所示:
return input.replace(re,"adifferentstring");
这是一个显示正则表达式工作的小提琴。
然后是一个显示替换操作工作的小提琴。
实际上,进一步考虑问题,如果您的正则表达式确实匹配回车符或换行符,则需要将其放回替换字符串中。我最初发布的相同正则表达式将起作用,但您将需要此替换语句($1
在括号中表示第一组。
return input.replace(re,"adifferentstring$1");