js 查找替换问题 javascript 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var a="tom jintian ruan yi mi tiii";n = 4;document.write(a.replace(/\s+/g, function(r) { return n++ + r }));tom4 jintian5 ruan6 yi7 mi8 tiii var i=4;//定义初始值var a="tom jintian ruan yi mi tiii";a=a.replace(/\S(?=\s+)/g,function(v){ return v+(i++);});alert(a); 第一、我冒昧的问一句,这个中间的零宽断言这么理解呢,我看犀牛书上是这样写得:(?=p) 零宽正向先行断言,要求接下来的字符都与p匹配,但不能包括匹配p的那些字符怎么理解呢?第二、问一下,replace中的函数参数个数问题,如果正则有多个括号,后面的形参是传多个,还是用arguments 来接收实际参数个数? 你可以简单的了解零宽度断言 是匹配位置,而不匹配实质内容,接符合p的位置如下,replace第二个参数接受函数,函数的参数,第一个为正则匹配的整体,第二个为分组1,第三个为分组2,以此类推var str="123zza456";str.replace(/(\d+)([a-z]+)(\d+)/,function(v,p1,p2,p3){ alert(v+'|'+p1+'|'+p2+'|'+p3); }); 对于这个来说比较好理解,匹配到然后就用数字+匹配的空格连接组合成字符串a.replace(/\s+/g, function(r) { return n++ + r });我试了一下,零宽断言是匹配 零宽断言条件 ,返回断言前那个无宽度的位置,但是我试了一下传过去的参数 v 是断言前一个字符(如图)?为什么呢,整个 return 回来的字符有时组装好了的。感觉好神奇 jquery 主窗口无法操作子窗口的问题 表格的问题。。 javascript中关于cookie的问题 JS查找父级控件 如何用jquery来实现添加删除表格? js省市二级联动问题????????? 列表选项控制问题 select 的问题这个错在哪里? 页面宽度自适应 关于JAVASCRIPT的几点疑惑 js冲突 js新人,请教一个getElementById取得变量的问题
n = 4;
document.write(a.replace(/\s+/g, function(r) { return n++ + r }));
tom4 jintian5 ruan6 yi7 mi8 tiii
var a="tom jintian ruan yi mi tiii";
a=a.replace(/\S(?=\s+)/g,function(v){
return v+(i++);
});
alert(a);
我看犀牛书上是这样写得:(?=p) 零宽正向先行断言,要求接下来的字符都与p匹配,但不能包括匹配p的那些字符
怎么理解呢?
第二、问一下,replace中的函数参数个数问题,如果正则有多个括号,后面的形参是传多个,还是用arguments 来接收实际参数个数?
var str="123zza456";
str.replace(/(\d+)([a-z]+)(\d+)/,function(v,p1,p2,p3){
alert(v+'|'+p1+'|'+p2+'|'+p3);
});
a.replace(/\s+/g, function(r) { return n++ + r });
我试了一下,零宽断言是匹配 零宽断言条件 ,返回断言前那个无宽度的位置,
但是我试了一下传过去的参数 v 是断言前一个字符(如图)?为什么呢,
整个 return 回来的字符有时组装好了的。感觉好神奇