<TR>
          <TD align=left height=30><FONT color=#FFFF00>*</FONT>&nbsp;数量:</TD>
          <TD><INPUT class=text1 maxLength=100 size=60     value=100 name=txtcount></TD>
         </TR>
        <TR>
          <TD align=left height=90><FONT color=#FFFF00>*</FONT>&nbsp;书籍名称:</TD>
          <TD><INPUT class=text1 maxLength=100 size=60 value=半月刊 name=txtbook></TD></TR>
        <TR>
          <TD align=left height=40><FONT color=#FFFF00>*</FONT>&nbsp;编号:</TD>
          <TD><INPUT class=text1 maxLength=100 size=60    value=ISBN-1001 name=txtno></TD>
        </TR>取出name=txtcount,name=txtbook,name=txtno 前Value的值.100+半月刊+ISBN-1001

解决方案 »

  1.   

    MatchCollection mc = Regex.Matches(yourStr,@"(?<=value=)\S*(?=\s*name=)");
    mc[0].Value;
    mc[1].Value;
    mc[2].Value;
    就是你要的内容。或是你可以循环
    foreach(Match m in mc)
    {
        m.Value;//这也可以
    }
      

  2.   

    \bvalue=\w*\bname= 试用之,可能不准
      

  3.   

    如果要单独指定取出:name=txtcount,name=txtbook
    这个两个的呢?
      

  4.   

    MatchCollection mc = Regex.Matches(yourStr,@"(?<=value=)\S*(?=\s*name=\s*(txtcount|txtbook))");
      

  5.   

    Match m = Regex.Matche(yourStr,@"value=([^ ]+) name=txtcount.+?value=([^ ]+) name=txtbook");
    m.Groups[1]m.Groups[2]
      

  6.   

    try...            string name = textBox1.Text;
                Regex reg = new Regex(@"(?i)(?<=value=)\S+(?=\s*name=" + Regex.Escape(name) + ")");
                MatchCollection mc = reg.Matches(yourStr);
                foreach (Match m in mc)
                {
                    richTextBox2.Text += m.Value + "\n";
                }
      

  7.   


    Regex reg = new Regex("(?<=value.*?name=).*?(?=>)");
      

  8.   

    MatchCollection mc = Regex.Matches(yourStr,@"(?<=value=)\S*(?=\s*name=)");
    mc[0].Value;
    mc[1].Value;
    mc[2].Value;
    就是你要的内容。或是你可以循环
    foreach(Match m in mc)
    {
        m.Value;//这也可以
    }