如何用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一个空白
- 我可以在Vim中打开扩展的正则expression式支持吗?
- C#if-null-then-nullexpression式
- 为什么大多数基于正则expression式的Javastring操作?
- 正则expression式(grep)用于多行search需要
- 正则expression式中方括号和括号之间的区别是什么?
- Ruby正则expression式中的\ A \ z和^ $之间的区别
- Java正则expression式元字符(。)和普通的点?
- 覆盖grails.views.default.codec ='html'configuration回'无'
- Javascriptdate正则expression式DD / MM / YYYY