本帖最后由 arabicsara 于 2010-07-15 12:07:58 编辑

解决方案 »

  1.   

    不知道你们经常怎么写正则,为什么非要但用正则一个技术取解决问题?先不看你那段要找的文本,我看到的是,那段文本在<head>与<meta之间,那么如果我来提取这段内容,我是这样做的,由于<head><meta很好匹配,而且在页面也是唯一的,所以我把<head>……<meta这一段取出来(因为很容易匹配),然后我再操作这段字符穿,删掉<head>和<meta,我觉得这样比单单用正则简单的多,也方便得多
      

  2.   

    //<head>(.*)\n<meta   用这个来匹配//<head>  d4d285dd-2447-11d7-8bf6-00b0d03daa06
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">//得到<head>  d4d285dd-2447-11d7-8bf6-00b0d03daa06
    <meta这个正则写起来多容易,然后你再操作一下得到的字符串,我想做这些一共也就用1分钟吧?何必非要单单用正则这个东西来解决问题呢?太麻烦了
      

  3.   

    楼主的意思是匹配类似classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"里的东东
    try:
    (([\da-eA-E])+)-\1-\1-\1-\1没有经过测试,可能错了
      

  4.   

    ([\da-fA-F]+)-([\da-fA-F]+)-([\da-fA-F]+)-([\da-fA-F]+)-([\da-fA-F]+)就是麻烦点
      

  5.   

    <head>\s*([a-f0-9\-]+)
    取分组1Match m = Regex.Match(html,@"<head>\s*([a-f0-9\-]+)");
    if(M.Success)
    {
        m.Groups[1].Value;//就是你要的
    }
      

  6.   

    a-e是你猜的,这应该是十六进制的,应该是a-f如果你不限制大小写。
    (?i)<head>\s*([a-f0-9\-]+)/<head>\s*([a-f0-9\-]+)/iMatch m = Regex.Match(html,@"(?i)<head>\s*([a-f0-9\-]+)");
    if(M.Success)
    {
        m.Groups[1].Value;//就是你要的
    }
      

  7.   


    strText = "d4d285dd-2447-11d7-8bf6-00b0d03daa06";
    Regex r = new Regex(@"^[a-z|\d]{8}\-[a-z|\d]{4}\-[a-z|\d]{4}\-[a-z|\d]{4}\-[a-z|\d]{12}$");
    Match m = r.Match(strText);
    if (m.Success)
    {
        MessageBox.Show("匹配");
    }
      

  8.   

    http://download.csdn.net/source/2464574
      

  9.   

    我说不清楚,我是想提取类似d4d285dd-2447-11d7-8bf6-00b0d03daa06的字符,比如的下面的文本提取想要的结果
    <!--STATUS OK-->
    <html>
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">innerHTML='<object title="知道彩蛋" onmousedown="EggCallBack('+eggtype+')" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="150" height="150"><param name="movie" value="/flash/egg.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><embed src="/flash/egg.swf" width="150" height="150" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" wmode="transparent"></embed></object>';nslog(location.href,100,{cmd:"eggshow",eggid:eggtype});Fe.show("iknowguideegg");if(!newegg){setCookie("IKNEGG",cookie,new Date(0),"/")}}if(status=="1"){if(""=="1"){IknowEgg.done()}}Fe.Ajax.sio("/js/baidu.dragable.js",function(){try{baidu.dragable(G("iknowguideegg"),{handler:G("iknowguidehandle")})}catch(e){}})}function success(type){if(type>0){Fe.show("iknowguideegg");try{G("iknowguidecontent").innerHTML='<iframe id="IKNEGGframe" name="IKNEGGframe"  style="width:420px;height:360px;border:0;" frameborder="no" scrolling="no"></iframe>';setTimeout(function(){G("IKNEGGframe").src="/egg/"+type+"done.html?t="+time.getTime()},150)}catch(e){}}}return{hide:hide,close:close,success:success,done:done,reg:reg,login:login,delay:delay,init:init}})();function EggCallBack(A){nslog(location.href,101,{cmd:"eggclick",eggid:A});if((""=="1")){Fe.hide("iknowguideegg");IknowEgg.done()}else{G("iknowguidecontent").innerHTML='<iframe src="/egg/'+A+'.html" width="420" height="360" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>'}}IknowEgg.init();</script>最后找到了:D27CDB6E-AE6D-11cf-96B8-444553540000
      

  10.   

    (?i)[a-f0-9]{8}(-[a-f0-9]{4}){3}-[a-f0-9]{12}
      

  11.   

    classid=\"([\\S\\s]*?)" codebase=\"你看下是不是有啥符号需要转义的,这个取出来是:
    classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="