搜索
查看: 3491|回复: 1

【分享】取出指定内容到数组实例,有注释,有解释。

[复制链接]

9

主题

96

帖子

628

积分

三级会员

叫我何细尔

Rank: 4

积分
628
QQ
发表于 2014-5-29 08:25:23 | 显示全部楼层 |阅读模式
本帖最后由 满月星光 于 2014-5-29 08:29 编辑

  1. io.open();
  2. //////import string;这句是多余的这句是多余的这句是多余的
  3. import console;
  4. var str = /*
  5. <div class="artlisting">
  6.   <ul>
  7.       
  8.   <li> <a title="邢燕玲" href="http://www.baidu.com/Item/Show.asp?m=117&d=51" target=_blank>邢燕玲</a> </li>
  9.      
  10.   <li> <a title="许凤梅" href="http://www.baidu.com/Item/Show.asp?m=117&d=50" target=_blank>许凤梅</a> </li>
  11.      
  12.   <li> <a title="程远鹏" href="http://www.baidu.com/Item/Show.asp?m=117&d=45" target=_blank>程远鹏</a> </li>
  13.      
  14.   <li> <a title="许俊良" href="http://www.baidu.com/Item/Show.asp?m=117&d=44" target=_blank>许俊良</a> </li>
  15. */
  16.    var tab = {}tab1 = {} tab3 = {} ;
  17.    //建立数组
  18.    //tab 下边用二维数组方式
  19.    //tab1 一维数组
  20.    //分组捕获,利用aardio特有的@模式,可以做到轻松捕获需要的内容(相对而言)看实例
  21.    //现在做的就是随意捕获制定范围内容,有些童鞋可能比较迷糊的是想取出内容应该按照什么格式去写呢?
  22.    //我们用aardio特有的“@禁用匹配”方式来一步一步做
  23.    /*
  24.    1.无论你要取出什么内容可以先写一个(),括号里的内容这样写(.*?)表示惰性取出一段你需要的内容
  25.    2.下面开始匹配在要取出的内容这样写 <>(.*?)<> 两边尖括号表示匹配的条件,而只取出()中的内容
  26.    3.如果想取出类似 <a title ...</a> 这样的效果,只需要去掉()即可看下边的例子
  27.    4.二维数组push方式添加数据例子
  28.    5.要注意双引号和单引号的问题。
  29.    */
  30.    
  31.    
  32.    //'<@title="@>(.*?)<@" href="@>(.*?)<@" target@>' 想取出一段内容中的两段数据
  33.    for m,m2 in string.gmatch( str,'<@title="@>(.*?)<@" href="@>(.*?)<@" target@>') {
  34.     table.push(tab,{m;m2});//二维数组
  35.     table.push(tab1,m,m2);//一维数组
  36.    }
  37.    
  38.    console.varDump(table.tostring(tab));
  39.    console.varDump(tab1);
  40.    
  41.    //"<@<a title@>.*?<@</a>@>" 这句取出的有什么不一样?大家可以体会aardio的强大!真心太强大了!
  42.    for m in string.gmatch( str,"<@<a title@>.*?<@</a>@>") {
  43.     table.push(tab3,m);
  44.    }
  45.    console.varDump(tab3);
  46.    

  47. execute("pause")
  48. io.close();
复制代码
回复

使用道具 举报

16

主题

138

帖子

933

积分

三级会员

Rank: 4

积分
933
发表于 2014-6-4 10:00:16 | 显示全部楼层

不错,解释的很清楚,感谢分享

不错,解释的很清楚,感谢分享
原创网http://fanal.cn谢谢支持
回复

使用道具 举报

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

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2019-11-15 08:47 , Processed in 0.078125 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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