如何使用JavaScript RegExp替换字符串的最后一次出现

如何使用JavaScript RegExp替换字符串的最后一次出现,javascript,regex,Javascript,Regex,我有一个JavaScript变量,字符串内容中有逗号(,)。如何使用RegExp将最后一个逗号(,)替换为“and” var band = "John, Paul, George, Ringo"; var beatles = band.replace(<reg-exp>, "and"); console.log(beatles); //outputs "John, Paul, George and Ringo" var band=“约翰、保罗、乔治、林戈”; var披头士乐队=乐队

我有一个JavaScript变量,字符串内容中有逗号(,)。如何使用RegExp将最后一个逗号(,)替换为“and”

var band = "John, Paul, George, Ringo";
var beatles = band.replace(<reg-exp>, "and");
console.log(beatles); //outputs "John, Paul, George and Ringo"
var band=“约翰、保罗、乔治、林戈”;
var披头士乐队=乐队替换(,“和”);
console.log(披头士乐队)//输出“约翰、保罗、乔治和林戈”

您可以在逗号之前的开头使用贪婪的
*
并将其捕获到一个组中,以将其放回替换位置:

str = str.replace(/^(.*),/, "$1 and");

*
将在匹配最后一个
之前匹配最长的字符串

另一种方法是最终使用否定字符类来匹配逗号后的0个或多个非逗号字符:

str = str.replace(/,\s*([^,]*)$/, " and $1");

您是否只使用regexp解决方案或其他方法?这正是我所需要的!非常感谢:-)