免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2328 | 回复: 6
打印 上一主题 下一主题

求perl \m 的用法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-16 11:55 |只看该作者 |倒序浏览
本帖最后由 kofit 于 2011-02-16 14:43 编辑

<ol class="song_box"><li ><span class="num">11</span> <span class="status ico_equal" title="不变">不变</span><span class="data" style='display:none;'>1955210124@@卑微的承诺@@0@@乔洋@@2738215774@@超级自恋男@@http://upload7.music.qzone.soso.com/12782964.wma@@212</span><span class="song"><a onclick="player.play(this.parentNode.parentNode);" title="卑微的承诺"href="javascript:;">卑微的承诺</a></span><span class="singer"><a title="乔洋"href="http://music.soso.com/portal/singer/0/singer_0.html" >乔洋</a></span> </li><li ><span class="num">12</span> <span class="status ico_down" title="下降">下降</span><span class="data" style='display:none;'>3261326473@@爱的供养@@207932239@@何晟铭@@135134275@@2011年2月新歌速递@@http://upload3.music.qzone.soso.com/12798420.wma@@217</span><span class="song"><a onclick="player.play(this.parentNode.parentNode);" title="爱的供养"href="javascript:;">爱的供养</a></span><span class="singer"><a title="何晟铭"href="http://music.soso.com/portal/singer/39/singer_207932239.html" >何晟铭</a></span> </li><li ><span class="num">13</span> <span class="status ico_up" title="上升">上升</span><span class="data" style='display:none;'>3368822356@@你把我灌醉@@2250998588@@陈洁仪@@3438109847@@重译@@http://upload10.music.qzone.soso.com/12797342.wma@@318</span><span class="song"><a onclick="player.play(this.parentNode.parentNode);" title="你把我灌醉"href="javascript:;">你把我灌醉</a></span><span class="singer"><a title="陈洁仪"href="http://music.soso.com/portal/singer/88/singer_2250998588.html" >陈洁仪</a></span> </li><li ><span class="num">14</span> <span class="status ico_up" title="上升">上升</span><span class="data" style='display:none;'>2918405628@@包围@@4029084158@@张杰@@290004753@@这,就是爱@@http://upload1.music.qzone.soso.com/12751047.wma@@286</span><span class="song"><a onclick="player.play(this.parentNode.parentNode);" title="包围"href="javascript:;">包围</a></span><span class="singer"><a title="张杰"href="http://music.soso.com/portal/singer/58/singer_4029084158.html" >张杰</a></span> </li><li ><span class="num">15</span> <span class="status ico_down" title="下降">下降</span><span class="data" style='display:none;'>1751257526@@埋葬冬天@@960446865@@汪苏泷@@239737913@@慢慢懂@@http://upload2.music.qzone.soso.com/12751068.wma@@257</span><span class="song"><a onclick="player.play(this.parentNode.parentNode);" title="埋葬冬天"href="javascript:;">埋葬冬天</a></span><span class="singer"><a title="汪苏泷"href="http://music.soso.com/portal/singer/65/singer_960446865.html" >汪苏泷</a></span> </li><li ><span class="num">16</span> <span class="status ico_up" title="上升">上升</span><span class="data" style='display:none;'>1177197656@@她说@@1829410514@@林俊杰@@1177197656@@她说@@http://upload2.music.qzone.soso.com/12764252.wma@@318</span><span class="song"><a onclick="player.play(this.parentNode.parentNode);" title="她说"href="javascript:;">她说</a></span><span class="singer"><a title="林俊杰"href="http://music.soso.com/portal/singer/14/singer_1829410514.html" >林俊杰</a></span> </li><li ><span class="num">17</span> <span class="status ico_down" title="下降">下降</span><span class="data" style='display:none;'>792953384@@Baby@@0@@Justin Bieber@@4067823536@@My Worlds Acoustic@@http://upload6.music.qzone.soso.com/12751899.wma@@215</span><span class="song"><a onclick="player.play(this.parentNode.parentNode);" title="Baby"href="javascript:;">Baby</a></span><span class="singer"><a title="Justin&#32;Bieber"href="http://music.soso.com/portal/singer/0/singer_0.html" >Justin&#32;Bieber</a></span> </li><li ><span class="num">18</span> <span class="status ico_up" title="上升">上升</span><span class="data" style='display:none;'>3121294468@@UUU@@263613048@@潘玮柏@@396638135@@808@@http://upload10.music.qzone.soso.com/12792602.wma@@229</span><span class="song"><a onclick="player.play(this.parentNode.parentNode);" title="UUU"href="javascript:;">UUU</a></span><span class="singer"><a title="潘玮柏"href="http://music.soso.com/portal/singer/48/singer_263613048.html" >潘玮柏</a></span> </li><li ><span class="num">19</span> <span class="status ico_up" title="上升">上升</span><span class="data" style='display:none;'>3407759800@@散场的拥抱@@0@@倪安东@@3604517370@@第一课@@http://upload9.music.qzone.soso.com/12749533.wma@@303</span><span class="song"><a onclick="player.play(this.parentNode.parentNode);" title="散场的拥抱"href="javascript:;">散场的拥抱</a></span><span class="singer"><a title="倪安东"href="http://music.soso.com/portal/singer/0/singer_0.html" >倪安东</a></span> </li><li ><span class="num">20</span> <span class="status ico_up" title="上升">上升</span><span class="data" style='display:none;'>3078967551@@Born This Way@@0@@Lady GaGa@@3078967551@@Born This Way@@http://upload6.music.qzone.soso.com/12800790.wma@@260</span><span class="song"><a onclick="player.play(this.parentNode.parentNode);" title="Born&#32;This&#32;Way"href="javascript:;">Born&#32;This&#32;Way</a></span><span class="singer"><a title="Lady&#32;GaGa"href="http://music.soso.com/portal/singer/0/singer_0.html" >Lady&#32;GaGa</a></span> </li></ol>
取上面这个记录的2236584427@@爱笑的眼睛@@1829410514@@林俊杰@@1177197656@@她说@@http://upload2.music.qzone.soso.com/12764253.wma@@251
所有的这样的信息。

用m的用法该怎么匹配?

论坛徽章:
0
2 [报告]
发表于 2011-02-16 13:35 |只看该作者
+1,大家帮看下!

论坛徽章:
0
3 [报告]
发表于 2011-02-16 13:39 |只看该作者

  1. cat ufile|perl -ne '($str)=m/((\d+@@[^@]*@@){1,}[^ ]+)/;print $str,"\n";'
  2. 2236584427@@爱笑的眼睛@@1829410514@@林俊杰 @@1177197656@@她说@@http://upload2.music.qzone.soso.com

复制代码

论坛徽章:
0
4 [报告]
发表于 2011-02-16 14:44 |只看该作者
回复 3# justlooks


    哥们刚才贴错了,只贴了一个<li>,源内容是上面那样的,要拿所有下面的歌曲信息记录。m的意思不是把一个记录当成多行吗?所以我想能不能一个正则就能都取下来

论坛徽章:
0
5 [报告]
发表于 2011-02-16 15:03 |只看该作者

  1. $ cat ufile|perl -ne 'while(m/((\d+@@[^@]*@@){1,}[^<]+)/g){print [        DISCUZ_CODE_0        ],"\n";}'
  2. 1955210124@@卑微的承诺@@0@@乔洋@@2738215774@@超级自恋男 @@http://upload7.music.qzone.soso.com/12782964.wma@@212
  3. 3261326473@@爱的供养@@207932239@@何晟铭 @@135134275@@2011年2月新歌速递@@http://upload3.music.qzone.soso.com /12798420.wma@@217
  4. 3368822356@@你把我灌醉@@2250998588@@陈洁仪 @@3438109847@@重译@@http://upload10.music.qzone.soso.com /12797342.wma@@318
  5. 2918405628@@包围@@4029084158@@张杰@@290004753@@这,就是爱@@http://upload1.music.qzone.soso.com/12751047.wma@@286
  6. 1751257526@@埋葬冬天@@960446865@@汪苏泷@@239737913@@慢慢懂@@http://upload2.music.qzone.soso.com/12751068.wma@@257
  7. 1177197656@@她说@@1829410514@@林俊杰@@1177197656@@她说 @@http://upload2.music.qzone.soso.com/12764252.wma@@318
  8. 792953384@@Baby@@0@@Justin Bieber@@4067823536@@My Worlds Acoustic@@http://upload6.music.qzone.soso.com/12751899.wma@@215
  9. 3121294468@@UUU@@263613048@@潘玮柏 @@396638135@@808@@http://upload10.music.qzone.soso.com/12792602.wma@@229
复制代码

论坛徽章:
0
6 [报告]
发表于 2011-02-16 15:08 |只看该作者
回复 5# justlooks


    怎么感觉不到这个m的作用啊

论坛徽章:
0
7 [报告]
发表于 2011-02-16 15:26 |只看该作者
  1. cat test2 | perl -ne 'while(/(\d+@@.*?)\d+</g){print $1, "\n";}'
复制代码
m//是匹配的意思,这m不写也可以
//m才是你说的那个意思。
有些m在前面,有些在后面。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP