var str="abcabc";
var reg=/a(.)c/g;
var array=new Array();
var index=0;
str.replace(reg,function($0,$1){
array[index]=$1;
index++;
});
alert(array);
解决方案 »
- 如何将参数传递给$.post的回调函数中?
- 求助,二级关联菜单问题
- 跪求!!佳能(中国)Flash源代码或者JS源代码。最好可以带有数字按钮
- 问一个关于VML饼图的问题!!急求啊~拜托了~!
- JavaScript 仿Apple滑动条(拖动条)产品展示效果
- Microsoft.XMLDOM和MSXML2.DOMDocumentms区别???!!!
- IE也错,firefox也错?
- 一段代码,谁帮我调一下,谢谢
- 怎么当用户点击,ie浏览页上面的关闭按钮,也响应我得程序,例如alert("close");
- 如何在firebug中查看javascript中的对象
- td对应问题
- 用js动态生成的radio,结果点击没用?????
var str = "abc";
str.match(/^a(.)c$/) 那$1就是b 那如果我匹配出来的是一个数组
var str = "abcabc";
str.match(/a(.)c/); 那怎么循环取$1 ??? 谢谢!
------------------
LZ加了起始限定符,本身就不能匹配到一个数组,$1他只能匹配到bcab如果在取出为数组时,你可以split(',')把其分离到数组当中进行处理。
var arr = str.match(/a(.)c/g);
for(var i=0; i<arr.length; i++)
{
document.write(arr[i]+"<br>");
}
-----------------
output:
abc
adc
aec
afc
三个元素不过我在写正则的时候已经把XX.gif打了括号,所以我想用$1直接循环取出来所有的XX.gif
因为match后的数组是像上面写的,但我只需要$1括号的内容(循环的)一楼的$1不行的,那个$1会一直是最后一将的括号内的内容,比如刚才我写的是abcaec,那么你写的那个$1两个都是e.