Javascript:在特定位置替换字符串

Javascript:在特定位置替换字符串,javascript,regex,replace,Javascript,Regex,Replace,我有一根这样的线: var str = "Hello, it is a <test>12345</test> and it's fun"; var str=“你好,这是12345,很有趣”; 我想将“12345”替换为“***” 脚本必须考虑到这样一个事实,即包含和之间的字符串从不相同。您可以使用以下正则表达式: str = str.replace(/(<test>).*?(?=<\/test>)/, '$1*****'); //=> "

我有一根这样的线:

var str = "Hello, it is a <test>12345</test> and it's fun";
var str=“你好,这是12345,很有趣”;
我想将“12345”替换为“***”


脚本必须考虑到这样一个事实,即包含和之间的字符串从不相同。

您可以使用以下正则表达式:

str = str.replace(/(<test>).*?(?=<\/test>)/, '$1*****');
//=> "Hello, it is a <test>*****</test> and it's fun"
str=str.replace(/()*(?=)/,“$1*****”);
//=>“你好,这是一个******,很有趣”
如果您不想向前看,请在两侧使用捕获组:

str = str.replace(/(<test>).*?(<\/test>)/, '$1*****$2');
//=> "Hello, it is a <test>*****</test> and it's fun"
str=str.replace(/()*?()/,“$1*****$2”);
//=>“你好,这是一个******,很有趣”

您可以使用此正则表达式:

str = str.replace(/(<test>).*?(?=<\/test>)/, '$1*****');
//=> "Hello, it is a <test>*****</test> and it's fun"
str=str.replace(/()*(?=)/,“$1*****”);
//=>“你好,这是一个******,很有趣”
如果您不想向前看,请在两侧使用捕获组:

str = str.replace(/(<test>).*?(<\/test>)/, '$1*****$2');
//=> "Hello, it is a <test>*****</test> and it's fun"
str=str.replace(/()*?()/,“$1*****$2”);
//=>“你好,这是一个******,很有趣”

如果数字不总是被包装在
标记之间,那么这里有另一种解决相同问题的方法

var str = "Hello, it is a <test>12345</test> and it's fun";

var numberPattern = /(\<\w+\>)(\d+)(\<\/\w+\>)/gi;

str = str.replace(numberPattern, "$1****$3");

// str is now "Hello, it is a <test>****</test> and it's fun"
var str=“你好,这是12345,很有趣”;
var numberPattern=/(\)(\d+)(\)/gi;
str=str.replace(数字模式,“$1****$3”);
//str现在是“你好,这是****而且很有趣”

如果数字不总是被包装在
标记之间,那么这里有另一种解决相同问题的方法

var str = "Hello, it is a <test>12345</test> and it's fun";

var numberPattern = /(\<\w+\>)(\d+)(\<\/\w+\>)/gi;

str = str.replace(numberPattern, "$1****$3");

// str is now "Hello, it is a <test>****</test> and it's fun"
var str=“你好,这是12345,很有趣”;
var numberPattern=/(\)(\d+)(\)/gi;
str=str.replace(数字模式,“$1****$3”);
//str现在是“你好,这是****而且很有趣”

好吧,我想我可以回答这个问题,但是你是说被替换的字符串总是介于和之间吗?好吧,我想我可以回答这个问题,但是你是说被替换的字符串总是介于和之间吗?你太快了。:)+1你真快。:)+1.