在一段文本里出现/plus/download.php?open=2&id=114&uhash=67aed3395bb5d02c3eb3980e"
这一段字符串 开头/plus/download.php?open这段和最后一个引号是固定的 剩下的都是不固定的
我怎么才能取到以/plus/download.php?open开头以"结尾的字符串

解决方案 »

  1.   

    string strRegex = @"/plus/download.php?[^\s]*";
                Regex r = new Regex(strRegex, RegexOptions.IgnoreCase);
                MatchCollection m = r.Matches(htmlCode);
    开始的时候这么写能取到 后来取不到了直接取的就是/plus/download.php?[^\s]*这一段
      

  2.   

    注意?要转义
    string pattern1 = @"(?i)/plus/download.php\?open[^""\s]+?""";
      

  3.   


    读取的还是(?i)/plus/download.php\?open[^"\s]+?"这个啊
      

  4.   

    string temp = "/plus/download.php?open=2&id=114&uhash=67aed3395bb5d02c3eb3980e\"";
                string pattern1 = @"(?i)/plus/download.php\?open[^""\s]+?""";
                temp = Regex.Match(temp, pattern1).Value;// /plus/download.php?open=2&id=114&uhash=67aed3395bb5d02c3eb3980e"有错么?还是你忘了加双引号
      

  5.   

     private void button1_Click(object sender, EventArgs e)
            {
                HtmlCode.Text = GetHttp(Htmlstr.Text);
                string strRegex = @"(?i)/plus/download.php\?open[^""\s]+?""";
                Regex r = new Regex(strRegex, RegexOptions.IgnoreCase);
                MatchCollection m = r.Matches(HtmlCode.Text);
                Htmlstr.Text = strRegex;
            }
            private string GetHttp(string url)//获取网页源码
            {
                Uri uri = new Uri(url);
                HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(uri);
                myReq.UserAgent = "User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705";
                myReq.Accept = "*/*";
                myReq.KeepAlive = true;
                myReq.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5");
                HttpWebResponse result = (HttpWebResponse)myReq.GetResponse();
                Stream receviceStream = result.GetResponseStream();
                StreamReader readerOfStream = new StreamReader(receviceStream, System.Text.Encoding.GetEncoding("utf-8"));
                string strHTML = readerOfStream.ReadToEnd();
                readerOfStream.Close();
                receviceStream.Close();
                result.Close();
                return strHTML;
            }我的代码 你看看是不是哪里出错了
      

  6.   

    Htmlstr.Text = strRegex;
    应该是
    Htmlstr.Text = m[0].Value;
    或者类似的……
      

  7.   

          string str = "/plus/download.php?open=2&id=114&uhash=67aed3395bb5d02c3eb3980e\"";
            var s = Regex.Match(str, @"(?is)/plus/download\.php\?open[^""]+(?="")").Value;
            Response.Write(s);
    ***********************
    结果
    /plus/download.php?open=2&id=114&uhash=67aed3395bb5d02c3eb3980e 
    ***********************