找回密码
 注册
搜索
热搜: java php web
查看: 1918|回复: 4

关于JS正则表达式匹配问题

[复制链接]
发表于 2009-1-26 23:43:14 | 显示全部楼层 |阅读模式
了解php的朋友知道,php中的正则表达式的preg_match_all可一次得出一二维数组用来多次匹配,比如:
  1. preg_match_all('/<img src="([^"])">/','<img src="1.jpg"> <img src="2.jpg"> <img src="3.jpg">',$arr);
  2. 可得到这样一个数组:
  3. Array
  4. (
  5.    [0] => Array
  6.        (
  7.            [0] => <img src="1.jpg">
  8.            [1] => <img src="2.jpg">
  9.            [2] => <img src="3.jpg">
  10.        )

  11.    [1] => Array
  12.        (
  13.            [0] => 1.jpg
  14.            [1] => 2.jpg
  15.            [2] => 3.jpg
  16.        )

  17. )
复制代码
而同样的功能用js来实现,可能就要麻烦点,用匿名RexExp对象的exec方法只能匹配到第一个<img src="1.jpg">,网上最常见的就是用非匿名RegExp对象加循环进行多次匹配。

以下方法,使用匿名RegExp对象实现reg_match_all类似功能:
  1. var arr=new Array();
  2. arr[0]='<img src="1.jpg"> <img src="2.jpg"> <img src="3.jpg">'.match(/<img src="([^"])">/g);
  3. arr[1]=new Array();
  4. for(var i=0;i<arr[0].length;i++)
  5.    arr[1][i]=/<img src="([^"])">/.exec(arr[0][i]);
复制代码
发表于 2009-1-27 00:58:50 | 显示全部楼层
学习。。。。。
回复

使用道具 举报

发表于 2009-1-27 00:50:59 | 显示全部楼层
谢谢楼主上传的资料
回复

使用道具 举报

发表于 2009-1-27 00:36:26 | 显示全部楼层
学习中..........
回复

使用道具 举报

发表于 2009-1-27 01:16:02 | 显示全部楼层
谢谢发贴,学习学习!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-9-20 15:29

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表