如何用javascriptreplacestring中最后出现的字符

我有一个问题,找出如何用'和'replacestring中的最后一个',':

有这个string:test1,test2,test3

我想结束:test1,test2和test3

我正在尝试这样的事情:

var dialog = 'test1, test2, test3'; dialog = dialog.replace(new RegExp(', /g').lastIndex, ' and '); 

但它不工作

 foo.replace(/,([^,]*)$/, ' and $1') 

使用$(行尾)锚来给你你的位置,并在逗号索引的右侧寻找一个不包含任何进一步逗号的模式。

编辑:

以上的工作正是针对需求定义的(尽pipereplacestring是任意松散的),但基于评论的批评,下面更好的体现了原来需求的精神。

 foo.replace(/,\s([^,]+)$/, ' and $1') 
 result = dialog.replace(/,\s(\w+)$/, " and $1"); 

$1指的是比赛的第一个捕获组(\w+)

正则expression式search模式\ s([^,] +)$

 Line1: If not, sdsdsdsdsa sas ., sad, whaterver4 Line2: If not, fs sadXD sad , ,sadXYZ!X Line3: If not d,,sds,, sasa sd a, sds, 23233 

用模式searchfindLine1:whaterver4 Line3:23233

然而,找不到Line2:sadXYZ!X
这只是缺less一个空白