本帖最后由 chenwei175528 于 2012-04-27 15:11:15 编辑

解决方案 »

  1.   

    abc[ ]*\d+\.\d+[a-zA-Z]*[ ]*[a-zA-Z]*
      

  2.   

    aaa 如果是特定的字符组成 最好把 .*?  改成贪婪模式
      

  3.   

    改一下,少些一个\
    ^abc\s+\d+(\.\d+)?\S*\s+bbb$
      

  4.   

    //验证用
      Regex re = new Regex(@"^abc\s+\d+(\.\d+)[^\s]+\s+bbb$", RegexOptions.None);  if (re.IsMatch("你要验证的字符串"))
      {
          //符合
      }
      else
      { 
          //不符合
      }//提取用
     string str = "abc  12.34aaa bbb";
     Regex re = new Regex(@"abc\s+((\d+(\.\d+)?)([^\s]+))\s+bbb", RegexOptions.None);
     Match ma = re.Match(str);                           
    //ma.Groups[0].Value;  结果:abc  12.34aaa bbb
    //ma.Groups[1].Value;  结果:12.34aaa
    //ma.Groups[2].Value;  结果:12.34               
    //ma.Groups[4].Value;  结果:aaa
                 
      

  5.   

    private string _REG = @"(特价:\s*<span id=""priceCell"">¥\d*</span><em id=""isshowSpecialInfo""></em></div>\s*<div class=""detail_r1vip"">VIP价)"; string text = @"特价:    <span id=""priceCell"">¥11.23</span><em id=""isshowSpecialInfo""></em></div>
                                     <div class=""detail_r1vip"">VIP价";上面的是我写的正则
    下面的是我想匹配的字符串
    最终想把11.23拿出来为什么这个匹配不了?