|
了解php的朋友知道,php中的正则表达式的preg_match_all可一次得出一二维数组用来多次匹配,比如:- preg_match_all('/<img src="([^"])">/','<img src="1.jpg"> <img src="2.jpg"> <img src="3.jpg">',$arr);
- 可得到这样一个数组:
- Array
- (
- [0] => Array
- (
- [0] => <img src="1.jpg">
- [1] => <img src="2.jpg">
- [2] => <img src="3.jpg">
- )
- [1] => Array
- (
- [0] => 1.jpg
- [1] => 2.jpg
- [2] => 3.jpg
- )
- )
复制代码 而同样的功能用js来实现,可能就要麻烦点,用匿名RexExp对象的exec方法只能匹配到第一个<img src="1.jpg">,网上最常见的就是用非匿名RegExp对象加循环进行多次匹配。
以下方法,使用匿名RegExp对象实现reg_match_all类似功能:- var arr=new Array();
- arr[0]='<img src="1.jpg"> <img src="2.jpg"> <img src="3.jpg">'.match(/<img src="([^"])">/g);
- arr[1]=new Array();
- for(var i=0;i<arr[0].length;i++)
- arr[1][i]=/<img src="([^"])">/.exec(arr[0][i]);
复制代码 |
|