求一高效正则,顺便散分 我想抓取百度歌曲TOP500页面(http://list.mp3.baidu.com/topso/mp3topsong.html?id=1?top2)中的歌曲名 歌曲链接 歌手名 歌手链接写正则时老是抓不全,哪位高手帮写一下呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 歌曲名和歌曲链接(或歌手名和歌手链接):Goup1和Group2(?is)<a href=\""(http://mp3[^>]*?)\""[^>]*>([^<]*)</a>从网页代码中提取。 <a.*?href="(http:\/\/mp3.baidu.com/m\?tn=baidump3&ct=.*?)".*?>(?:<b>)?(.*?)(?:</b>)?</a>我这样可以匹配到所有的歌曲和歌手名字和链接,但是不能把歌曲与歌手对应上 这个没有找到匹配,是不是应该这样的呢?(?is)<a href=\"(http://mp3[^>]*?)\"[^>]*>([^<]*)</a>如果是这样的话,匹配到689项,而页面中有501首歌曲,加上歌手的话,应该远不止这个数,我的<a.*?href=\"(http:\/\/mp3.baidu.com/m\?tn=baidump3&ct=.*?)\".*?>(?:<b>)?(.*?)(?:</b>)?</a>可以匹配到969个 正则:string pattern="(?is)<a href=\""(http://mp3[^>]*?)\""[^>]*>(?:<(?!/a).*?>)*([^<]*)(?:<(?!/a).*?>)*</a>";匹配结果:http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B5%BE%CF%E3+%D6%DC%BD%DC%C2%D7稻香http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BB%AD%D0%C4+%D5%C5%F6%A6%D3%B1画心http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%F6%A6%D3%B1张靓颖http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B1%B1%BE%A9%BB%B6%D3%AD%C4%E3+%C8%BA%D0%C7北京欢迎你http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C8%BA%D0%C7群星http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CB%B5%BA%C3%B5%C4%D0%D2%B8%A3%C4%D8+%D6%DC%BD%DC%C2%D7说好的幸福呢http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B8%F8%CE%D2%D2%BB%CA%D7%B8%E8%B5%C4%CA%B1%BC%E4+%D6%DC%BD%DC%C2%D7给我一首歌的时间http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D7%F3%B1%DF+%D1%EE%D8%A9%C1%D5左边http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D1%EE%D8%A9%C1%D5杨丞琳http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D0%A1%BE%C6%CE%D1+%C1%D6%BF%A1%BD%DC%2B%B2%CC%D7%BF%E5%FB小酒窝http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BB%A8%BA%A3+%D6%DC%BD%DC%C2%D7花海http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C0%BC%CD%A4%D0%F2+%D6%DC%BD%DC%C2%D7兰亭序http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C8%D5%B2%BB%C2%E4+%B2%CC%D2%C0%C1%D6日不落http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B2%CC%D2%C0%C1%D6蔡依林http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C9%E1%B2%BB%B5%C3+%CF%D2%D7%D3舍不得http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CF%D2%D7%D3弦子http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C7%E0%BB%A8%B4%C9+%D6%DC%BD%DC%C2%D7青花瓷http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C0%CF%C8%CB%D3%EB%BA%A3+%BA%A3%C3%F9%CD%FE老人与海http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BA%A3%C3%F9%CD%FE海鸣威http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B0%B2%BE%B2%C1%CB+s.h.e安静了http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=s.h.es.h.ehttp://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CA%B1%B9%E2%BB%FA+%D6%DC%BD%DC%C2%D7时光机http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BB%E1%BA%F4%CE%FC%B5%C4%CD%B4+%C1%BA%BE%B2%C8%E3会呼吸的痛http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C1%BA%BE%B2%C8%E3梁静茹http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CC%EC%C1%C1%C1%CB+s.h.e天亮了http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=s.h.es.h.ehttp://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B0%AE+%D0%A1%BB%A2%B6%D3爱http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D0%A1%BB%A2%B6%D3小虎队http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%AA%C4%E3%D0%B4%CA%AB+%CE%E2%BF%CB%C8%BA为你写诗http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%E2%BF%CB%C8%BA吴克群http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B4%F3%BA%A3+%D5%C5%D3%EA%C9%FA大海http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%D3%EA%C9%FA张雨生http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C1%FA%D5%BD%C6%EF%CA%BF+%D6%DC%BD%DC%C2%D7龙战骑士http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%D2%BA%CD%C4%E3+%C1%F5%BB%B6%2B%C9%AF%C0%AD%B2%BC%C0%B3%C2%FC我和你http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%C7%B1%F0+%D5%C5%D1%A7%D3%D1吻别http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%D1%A7%D3%D1张学友http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C9%DF%CE%E8+%D6%DC%BD%DC%C2%D7蛇舞http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D4%C2%C1%C1%D6%AE%C9%CF+%B7%EF%BB%CB%B4%AB%C6%E6月亮之上http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B7%EF%BB%CB%B4%AB%C6%E6凤凰传奇http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D7%ED%B3%E0%B1%DA+%C1%D6%BF%A1%BD%DC醉赤壁http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C1%D6%BF%A1%BD%DC林俊杰http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D2%FE%D0%CE%B5%C4%B3%E1%B0%F2+%D5%C5%C9%D8%BA%AD隐形的翅膀http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%C9%D8%BA%AD张韶涵http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D3%D2%CA%D6%B1%DF+%B9%E2%C1%BC右手边http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B9%E2%C1%BC光良http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B1%B1%BC%AB%D0%C7%B5%C4%D1%DB%C0%E1+%D5%C5%B6%B0%C1%BA北极星的眼泪http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%B6%B0%C1%BA张栋梁http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B9%E2%BB%D4%CB%EA%D4%C2+beyond光辉岁月http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=beyondbeyondhttp://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C8%E7%B9%FB%B0%AE%CF%C2%C8%A5+%D5%C5%F6%A6%D3%B1如果爱下去http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%F6%A6%D3%B1张靓颖http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CC%F0%C3%DB%C3%DB+%B5%CB%C0%F6%BE%FD甜蜜蜜http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B5%CB%C0%F6%BE%FD邓丽君http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%D2%C3%C7%B5%C4%B8%E8+%CD%F5%C1%A6%BA%EA我们的歌http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CD%F5%C1%A6%BA%EA王力宏http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BA%A3%C0%AB%CC%EC%BF%D5+%D0%C5%C0%D6%CD%C5海阔天空http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D0%C5%C0%D6%CD%C5信乐团http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%D2%C3%C7%CB%B5%BA%C3%B5%C4+%D5%C5%F6%A6%D3%B1我们说好的http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%F6%A6%D3%B1张靓颖http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D3%D0%C3%BB%D3%D0%C8%CB%B8%E6%CB%DF%C4%E3+%B3%C2%B3%FE%C9%FA有没有人告诉你http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B3%C2%B3%FE%C9%FA陈楚生http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BC%F2%B5%A5%B0%AE+%D6%DC%BD%DC%C2%D7简单爱http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D2%B9%C7%FA+%D6%DC%BD%DC%C2%D7夜曲http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦 这次能匹配上所有的,请在一个正则中匹配歌曲、歌手(如果有的话),以及它们的链接不知道我是不是没有表达清楚,我是想在一个匹配Match中,包含有:歌曲名、歌曲链接(这两个肯定有)歌手名、歌手链接(这两个可能有) (?is)<a href=\"(http://mp3[^>]*?)\"[^>]*>(?:<(?!/a).*?>)*([^<]*)(?:<(?!/a).*?>)*</a>.*?\(<a href=\"(http://mp3[^>]*?)\"[^>]*>(?:<(?!/a).*?>)*([^<]*)(?:<(?!/a).*?>)*</a>\) MatchCollection mc = Regex.Matches(yourStr, @"(?<number>[1-9][0-9]?|[1-4][0-9]{2}|50[01])\.</td>\s*<td[^>]*><a\s*href=""(?<songurl>[^""]*)""[^>]*>\s*(<b>)?\s*(?<songname>[^<>]*)\s*(</b>)?\s*</a>(\s*\(\s*<a\s*href=""(?<singerurl>[^""]*)""[^>]*>(?<singer>[^<>]*)</a>)?", RegexOptions.IgnoreCase);foreach(Match m in mc){ //richTextBox2.Text += m.Groups["number"].Value + "\n"; //序号,主要是为了验证数量 richTextBox2.Text += m.Groups["songurl"].Value + "\n"; //歌曲链接 richTextBox2.Text += m.Groups["songname"].Value + "\n"; //歌曲名 richTextBox2.Text += m.Groups["singerurl"].Value + "\n"; //歌手链接 richTextBox2.Text += m.Groups["singer"].Value + "\n"; //歌手名}richTextBox2.Text += mc.Count + "\n";最后的mc.Count 为501 1 m.Groups[0].Value=<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B5%BE%CF%E3+%D6%DC%BD%DC%C2%D7" target=_blank>稻香</a> (<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7" target=_blank>周杰伦</a>)1 m.Groups[1].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B5%BE%CF%E3+%D6%DC%BD%DC%C2%D71 m.Groups[2].Value=稻香1 m.Groups[3].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D71 m.Groups[4].Value=周杰伦2 m.Groups[0].Value=<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BB%AD%D0%C4+%D5%C5%F6%A6%D3%B1" target=_blank><b>画心</b></a> (<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%F6%A6%D3%B1" target=_blank>张靓颖</a>)2 m.Groups[1].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BB%AD%D0%C4+%D5%C5%F6%A6%D3%B12 m.Groups[2].Value=画心2 m.Groups[3].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%F6%A6%D3%B12 m.Groups[4].Value=张靓颖467 m.Groups[0].Value=<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C1%F7%C9%B3+%C2%ED%BF%A1%CE%B0" target=_blank>流沙</a> (<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C2%ED%BF%A1%CE%B0" target=_blank>马俊伟</a>)467 m.Groups[1].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C1%F7%C9%B3+%C2%ED%BF%A1%CE%B0467 m.Groups[2].Value=流沙467 m.Groups[3].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C2%ED%BF%A1%CE%B0467 m.Groups[4].Value=马俊伟468 m.Groups[0].Value=<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BC%E1%C7%BF+%D5%C5%C8%D8%C8%D8" target=_blank>坚强</a> (<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%C8%D8%C8%D8" target=_blank>张蓉蓉</a>)468 m.Groups[1].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BC%E1%C7%BF+%D5%C5%C8%D8%C8%D8468 m.Groups[2].Value=坚强468 m.Groups[3].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%C8%D8%C8%D8468 m.Groups[4].Value=张蓉蓉 其实主要是考虑两种特殊情况,序号为2这个歌曲名<b>标签加粗这种,序号为201没有歌手这种,其它的很好处理了 结贴了,向lxcnn、min_jie学习并表示感谢! 没办法,这种需求一些匹配和条件限定是免不了的,就是算是去掉一些可能不必要的条件,也简化不了多少MatchCollection mc = Regex.Matches(yourStr, @"</td>\s*<td[^>]*><a\s*href=""(?<songurl>[^""]*)""[^>]*>\s*(<b>)?\s*(?<songname>[^<>]*)\s*(</b>)?\s*</a>(\s*\(\s*<a\s*href=""(?<singerurl>[^""]*)""[^>]*>(?<singer>[^<>]*)</a>)?", RegexOptions.IgnoreCase);foreach(Match m in mc){ richTextBox2.Text += m.Groups["songurl"].Value + "\n"; //歌曲链接 richTextBox2.Text += m.Groups["songname"].Value + "\n"; //歌曲名 richTextBox2.Text += m.Groups["singerurl"].Value + "\n"; //歌手链接 richTextBox2.Text += m.Groups["singer"].Value + "\n"; //歌手名}richTextBox2.Text += mc.Count + "\n";上面去掉了序号,结果也是501,没有仔细看结果,楼主可以多测下,如果有不满足的,就只能等晚上回来再看下了 又发现了一些其他的情况,比如:7. 小酒窝 (林俊杰/蔡卓妍)271. 勇敢的幸福 (sweety/阮经天/陈宇帆) 这种有多个歌手的怎么办啊?歌手之间可能用vs、VS、/、&、+ 分隔的 流水号生成? 各位大虾!如何清除bitmap上已保存的图像??? 【请教】关于多级联动菜单的WPF实现 介绍下MVP吧 关于EXCEL导出后,也面页其他链接无效的问题! 关于多线程的困惑 动态实时的CPU使用率曲线 怎样通过程序控制文件隐藏或不隐藏(不是属性里的那种隐藏)? Mci播放局域网wav文件的问题 有哪位大神能帮忙用C#代写讯飞离线语音合成的 代码吗?付费也可以啊亲 [求助]关于winfrom程序发布问题 关于网络爬虫
(?is)<a href=\""(http://mp3[^>]*?)\""[^>]*>([^<]*)</a>从网页代码中提取。
这个没有找到匹配,是不是应该这样的呢?(?is)<a href=\"(http://mp3[^>]*?)\"[^>]*>([^<]*)</a>
如果是这样的话,匹配到689项,而页面中有501首歌曲,加上歌手的话,应该远不止这个数,我的<a.*?href=\"(http:\/\/mp3.baidu.com/m\?tn=baidump3&ct=.*?)\".*?>(?:<b>)?(.*?)(?:</b>)?</a>可以匹配到969个
string pattern="(?is)<a href=\""(http://mp3[^>]*?)\""[^>]*>(?:<(?!/a).*?>)*([^<]*)(?:<(?!/a).*?>)*</a>";匹配结果:
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B5%BE%CF%E3+%D6%DC%BD%DC%C2%D7稻香
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BB%AD%D0%C4+%D5%C5%F6%A6%D3%B1画心
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%F6%A6%D3%B1张靓颖
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B1%B1%BE%A9%BB%B6%D3%AD%C4%E3+%C8%BA%D0%C7北京欢迎你
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C8%BA%D0%C7群星
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CB%B5%BA%C3%B5%C4%D0%D2%B8%A3%C4%D8+%D6%DC%BD%DC%C2%D7说好的幸福呢
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B8%F8%CE%D2%D2%BB%CA%D7%B8%E8%B5%C4%CA%B1%BC%E4+%D6%DC%BD%DC%C2%D7给我一首歌的时间
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D7%F3%B1%DF+%D1%EE%D8%A9%C1%D5左边
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D1%EE%D8%A9%C1%D5杨丞琳
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D0%A1%BE%C6%CE%D1+%C1%D6%BF%A1%BD%DC%2B%B2%CC%D7%BF%E5%FB小酒窝
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BB%A8%BA%A3+%D6%DC%BD%DC%C2%D7花海
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C0%BC%CD%A4%D0%F2+%D6%DC%BD%DC%C2%D7兰亭序
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C8%D5%B2%BB%C2%E4+%B2%CC%D2%C0%C1%D6日不落
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B2%CC%D2%C0%C1%D6蔡依林
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C9%E1%B2%BB%B5%C3+%CF%D2%D7%D3舍不得
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CF%D2%D7%D3弦子
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C7%E0%BB%A8%B4%C9+%D6%DC%BD%DC%C2%D7青花瓷
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C0%CF%C8%CB%D3%EB%BA%A3+%BA%A3%C3%F9%CD%FE老人与海
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BA%A3%C3%F9%CD%FE海鸣威
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B0%B2%BE%B2%C1%CB+s.h.e安静了
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=s.h.es.h.e
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CA%B1%B9%E2%BB%FA+%D6%DC%BD%DC%C2%D7时光机
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BB%E1%BA%F4%CE%FC%B5%C4%CD%B4+%C1%BA%BE%B2%C8%E3会呼吸的痛
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C1%BA%BE%B2%C8%E3梁静茹
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CC%EC%C1%C1%C1%CB+s.h.e天亮了
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=s.h.es.h.e
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B0%AE+%D0%A1%BB%A2%B6%D3爱
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D0%A1%BB%A2%B6%D3小虎队
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%AA%C4%E3%D0%B4%CA%AB+%CE%E2%BF%CB%C8%BA为你写诗
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%E2%BF%CB%C8%BA吴克群
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B4%F3%BA%A3+%D5%C5%D3%EA%C9%FA大海
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%D3%EA%C9%FA张雨生
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C1%FA%D5%BD%C6%EF%CA%BF+%D6%DC%BD%DC%C2%D7龙战骑士
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%D2%BA%CD%C4%E3+%C1%F5%BB%B6%2B%C9%AF%C0%AD%B2%BC%C0%B3%C2%FC我和你
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%C7%B1%F0+%D5%C5%D1%A7%D3%D1吻别
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%D1%A7%D3%D1张学友
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C9%DF%CE%E8+%D6%DC%BD%DC%C2%D7蛇舞
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D4%C2%C1%C1%D6%AE%C9%CF+%B7%EF%BB%CB%B4%AB%C6%E6月亮之上
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B7%EF%BB%CB%B4%AB%C6%E6凤凰传奇
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D7%ED%B3%E0%B1%DA+%C1%D6%BF%A1%BD%DC醉赤壁
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C1%D6%BF%A1%BD%DC林俊杰
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D2%FE%D0%CE%B5%C4%B3%E1%B0%F2+%D5%C5%C9%D8%BA%AD隐形的翅膀
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%C9%D8%BA%AD张韶涵
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D3%D2%CA%D6%B1%DF+%B9%E2%C1%BC右手边
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B9%E2%C1%BC光良
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B1%B1%BC%AB%D0%C7%B5%C4%D1%DB%C0%E1+%D5%C5%B6%B0%C1%BA北极星的眼泪
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%B6%B0%C1%BA张栋梁
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B9%E2%BB%D4%CB%EA%D4%C2+beyond光辉岁月
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=beyondbeyond
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C8%E7%B9%FB%B0%AE%CF%C2%C8%A5+%D5%C5%F6%A6%D3%B1如果爱下去
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%F6%A6%D3%B1张靓颖
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CC%F0%C3%DB%C3%DB+%B5%CB%C0%F6%BE%FD甜蜜蜜
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B5%CB%C0%F6%BE%FD邓丽君
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%D2%C3%C7%B5%C4%B8%E8+%CD%F5%C1%A6%BA%EA我们的歌
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CD%F5%C1%A6%BA%EA王力宏
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BA%A3%C0%AB%CC%EC%BF%D5+%D0%C5%C0%D6%CD%C5海阔天空
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D0%C5%C0%D6%CD%C5信乐团
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%CE%D2%C3%C7%CB%B5%BA%C3%B5%C4+%D5%C5%F6%A6%D3%B1我们说好的
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%F6%A6%D3%B1张靓颖
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D3%D0%C3%BB%D3%D0%C8%CB%B8%E6%CB%DF%C4%E3+%B3%C2%B3%FE%C9%FA有没有人告诉你
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B3%C2%B3%FE%C9%FA陈楚生
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BC%F2%B5%A5%B0%AE+%D6%DC%BD%DC%C2%D7简单爱
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D2%B9%C7%FA+%D6%DC%BD%DC%C2%D7夜曲
http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7周杰伦
这次能匹配上所有的,请在一个正则中匹配歌曲、歌手(如果有的话),以及它们的链接不知道我是不是没有表达清楚,我是想在一个匹配Match中,包含有:
歌曲名、歌曲链接(这两个肯定有)
歌手名、歌手链接(这两个可能有)
foreach(Match m in mc)
{
//richTextBox2.Text += m.Groups["number"].Value + "\n"; //序号,主要是为了验证数量
richTextBox2.Text += m.Groups["songurl"].Value + "\n"; //歌曲链接
richTextBox2.Text += m.Groups["songname"].Value + "\n"; //歌曲名
richTextBox2.Text += m.Groups["singerurl"].Value + "\n"; //歌手链接
richTextBox2.Text += m.Groups["singer"].Value + "\n"; //歌手名
}
richTextBox2.Text += mc.Count + "\n";最后的mc.Count 为501
(<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7" target=_blank>周杰伦</a>)
1 m.Groups[1].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%B5%BE%CF%E3+%D6%DC%BD%DC%C2%D7
1 m.Groups[2].Value=稻香
1 m.Groups[3].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D6%DC%BD%DC%C2%D7
1 m.Groups[4].Value=周杰伦
2 m.Groups[0].Value=<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BB%AD%D0%C4+%D5%C5%F6%A6%D3%B1" target=_blank><b>画心</b></a>
(<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%F6%A6%D3%B1" target=_blank>张靓颖</a>)
2 m.Groups[1].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BB%AD%D0%C4+%D5%C5%F6%A6%D3%B1
2 m.Groups[2].Value=画心
2 m.Groups[3].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%F6%A6%D3%B1
2 m.Groups[4].Value=张靓颖467 m.Groups[0].Value=<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C1%F7%C9%B3+%C2%ED%BF%A1%CE%B0" target=_blank>流沙</a>
(<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C2%ED%BF%A1%CE%B0" target=_blank>马俊伟</a>)
467 m.Groups[1].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C1%F7%C9%B3+%C2%ED%BF%A1%CE%B0
467 m.Groups[2].Value=流沙
467 m.Groups[3].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%C2%ED%BF%A1%CE%B0
467 m.Groups[4].Value=马俊伟
468 m.Groups[0].Value=<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BC%E1%C7%BF+%D5%C5%C8%D8%C8%D8" target=_blank>坚强</a>
(<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%C8%D8%C8%D8" target=_blank>张蓉蓉</a>)
468 m.Groups[1].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%BC%E1%C7%BF+%D5%C5%C8%D8%C8%D8
468 m.Groups[2].Value=坚强
468 m.Groups[3].Value=http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&li=500&word=%D5%C5%C8%D8%C8%D8
468 m.Groups[4].Value=张蓉蓉
没办法,这种需求一些匹配和条件限定是免不了的,就是算是去掉一些可能不必要的条件,也简化不了多少MatchCollection mc = Regex.Matches(yourStr, @"</td>\s*<td[^>]*><a\s*href=""(?<songurl>[^""]*)""[^>]*>\s*(<b>)?\s*(?<songname>[^<>]*)\s*(</b>)?\s*</a>(\s*\(\s*<a\s*href=""(?<singerurl>[^""]*)""[^>]*>(?<singer>[^<>]*)</a>)?", RegexOptions.IgnoreCase);
foreach(Match m in mc)
{
richTextBox2.Text += m.Groups["songurl"].Value + "\n"; //歌曲链接
richTextBox2.Text += m.Groups["songname"].Value + "\n"; //歌曲名
richTextBox2.Text += m.Groups["singerurl"].Value + "\n"; //歌手链接
richTextBox2.Text += m.Groups["singer"].Value + "\n"; //歌手名
}
richTextBox2.Text += mc.Count + "\n";上面去掉了序号,结果也是501,没有仔细看结果,楼主可以多测下,如果有不满足的,就只能等晚上回来再看下了
271. 勇敢的幸福 (sweety/阮经天/陈宇帆) 这种有多个歌手的怎么办啊?歌手之间可能用vs、VS、/、&、+ 分隔的