我想把[audio:http://www.season.org.cn/blog/uploadfiles/2008-5/72126218250.mp3]里的mp3地址取出来,正则怎么写?

解决方案 »

  1.   

    Regex reg = new Regex(@"(?<=\[)[^[]]+(?=\])");
    MatchCollection mc = reg.Matches("");
    foreach (Match m in mc)
    {
    }
    Path.GetFileName("http://www.season.org.cn/blog/uploadfiles/2008-5/72126218250.mp3")
      

  2.   

                Regex re = new Regex("(?<=\\[audio:).+?[^\\[\\]](?=\\])", RegexOptions.IgnoreCase);
                MatchCollection mc = re.Matches(@"[audio:http://www.season.org.cn/blog/uploadfiles/2008-5/72126218250.mp3][audio:http://www.season.org.cn/blog/uploadfiles/2008-5/72126218250.mp3]");
                foreach (Match ma in mc)
                {
                    Console.WriteLine(ma.Value);
                }            Console.Read();
      

  3.   

    Regex re = new Regex(@"(?<=\[audio:).+?[^\[\]](?=\])", RegexOptions.IgnoreCase);
    MatchCollection mc = re.Matches("text");
    foreach (Match ma in mc)
    {
    }
      

  4.   

    string mp3Path = Regex.Match(your_ubb,@"(?<=\[audio:)[^\]]+").Value;
      

  5.   

    谢谢两位,还是没有替换掉啊,我的代码是这样的string muPattern = @"(?<=\[audio:).+?[^\[\]](?=\])";            MatchCollection muc = Regex.Matches(GetHtml, muPattern);
                foreach (Match mu in muc)
                {
                    musicplayer = "<embed id=\"audioplayer79460\" type=\"application/x-shockwave-flash\" height=\"40\" width=\"290\" src=\"flash/audio.swf?&amp;soundFile=" + mu.Result("$1") + "&amp;playerID=79460&amp;loader=0x9FFFB8&amp;loop=no&amp;autostart=no\"></embed>";
                    GetHtml = Regex.Replace(GetHtml, mu.Value, musicplayer, RegexOptions.IgnoreCase);
                }
    没反应,显示出来的还是[audio:http://www.season.org.cn/blog/uploadfiles/2008-5/72126218250.mp3]
      

  6.   

    直接判断 mc.success是否成功
      

  7.   


    生成静态的页面啊,读html然后把那个包含地址的音乐加个播放器网页上能播放啊
      

  8.   

    你是想把
    [audio:http://www.season.org.cn/blog/uploadfiles/2008-5/72126218250.mp3]
    替换为
    <embed id="audioplayer79460" type="application/x-shockwave-flash" height="40" width="290" src="flash/audio.swf?&amp;soundFile=audio:http://www.season.org.cn/blog/uploadfiles/2008-5/72126218250.mp3&amp;playerID=79460&amp;loader=0x9FFFB8&amp;loop=no&amp;autostart=no"></embed>是这个意思么?
      

  9.   

    string GetHtml = @"[audio:http://www.season.org.cn/blog/uploadfiles/2008-5/72126218250.mp3]";
    string section1 = Regex.Escape("<embed id=\"audioplayer79460\" type=\"application/x-shockwave-flash\" height=\"40\" width=\"290\" src=\"flash/audio.swf?&amp;soundFile=");
    string section2 = Regex.Escape("&amp;playerID=79460&amp;loader=0x9FFFB8&amp;loop=no&amp;autostart=no\"></embed>");
    string.Intern(section1);
    string.Intern(section2);
    GetHtml = Regex.Replace(GetHtml, @"\[audio:([^\]]+)\]", section1 + "$1" + section2);
    //GetHtml 就是你要的
      

  10.   

    最后出来的是
    <embed\ id="audioplayer79460"\ type="application/x-shockwave-flash"\ height="40"\ width="290"\ src="flash/audio\.swf\?&amp;soundFile=http://www.season.org.cn/blog/uploadfiles/2008-5/72126218250.mp3&amp;playerID=79460&amp;loader=0x9FFFB8&amp;loop=no&amp;autostart=no"></embed>,多了些斜线如何去掉?
      

  11.   

    画蛇添足了。这样
    string GetHtml = @"[audio:http://www.season.org.cn/blog/uploadfiles/2008-5/72126218250.mp3]";
    string section1 = "<embed id=\"audioplayer79460\" type=\"application/x-shockwave-flash\" height=\"40\" width=\"290\" src=\"flash/audio.swf?&amp;soundFile=";
    string section2 = "&amp;playerID=79460&amp;loader=0x9FFFB8&amp;loop=no&amp;autostart=no\"></embed>";
    string.Intern(section1);
    string.Intern(section2);
    GetHtml = Regex.Replace(GetHtml, @"\[audio:([^\]]+)\]", section1 + "$1" + section2);
    //GetHtml 就是你要的