我只想读取带有“    <span>0.027元/斤</span>
    </li>
    <li class="w50">
         <span><img src="http://images.cdn.com/Images/common/wancheng.gif" /></span>”
代码中的 价格,而不读取 “   </li>
    <li class="w80">
        <span>1</span>
    </li>
    <li class="w88">
       <span>0.027元/斤</span>
    </li>
    <li class="w50">
         <span>1天</span>
     </li>
  <li class="clear" ></li> ”
中的价格。这个好像有点难度。..............................
    </li>
    <li class="w80">
        <span>1</span>
    </li>
    <li class="w88">
       <span>0.027元/斤</span>
    </li>
    <li class="w50">
         <span>1天</span>
     </li>
  <li class="clear" ></li>
..............................    </li>
    <li class="w88"></li>
    <li class="w102">
        <div><span class="orange fBold">100.00</span></div>
    </li>
    <li class="w80">
        <span>0</span>
    </li>
    <li class="w88">
       <span>0.027元/斤</span>
    </li>
    <li class="w50">
         <span><img src="http://images.cdn.com/Images/common/wancheng.gif" /></span>
     </li>
  <li class="clear" ></li>
<div class="clear" ></div>
.............................    </li>
    <li class="w88"></li>
    <li class="w102">
        <div><span class="orange fBold">100.00</span></div>
    </li>
    <li class="w80">
        <span>0</span>
    </li>
    <li class="w88">
       <span>0.027元/斤</span>
    </li>
    <li class="w50">
         <span><img src="http://images.cdn.com/Images/common/wancheng.gif" /></span>
     </li>
  <li class="clear" ></li>
<div class="clear" ></div>
</ul>
<script language="javascript">
var t="Consignment";
if(t=="API")

解决方案 »

  1.   

    难道是包含这行的<li>...</li>段?
    Regex regExp = new Regex(@"(?is)<li[^>]*>.*?<span>0.027元/斤</span>.*?</li>");
    MatchCollection mc = regExp.Matches(yourHtml);
    foreach(Match m in mc)
    {
        m.Value;//这个
    }
      

  2.   

    差不多吧。
    我是想 包函 这段
      <span>0.027元/斤</span>
      </li>
      <li class="w50">
      <span><img src="http://images.cdn.com/Images/common/wancheng.gif" /></span>
      </li>
    这个的要。包函 这段的  <span>0.027元/斤</span>
      </li>
      <li class="w50">
      <span>1天</span>
      </li>不要。
      

  3.   

    1、这个是表示已经出售了的物品价格  <span>0.027元/斤</span>
      </li>
      <li class="w50">
      <span><img src="http://images.cdn.com/Images/common/wancheng.gif" /></span>
      </li>
    2、这个是表示没有出售的物品价格。还有1天时间  <span>0.027元/斤</span>
      </li>
      <li class="w50">
      <span>1天</span>
      </li>
      

  4.   

    是可变的,我只想读取已经出售了的物品价格 如1、这个是表示已经出售了的物品价格   <span>0.033元/斤</span>
      </li>
      <li class="w50">
      <span><img src="http://images.cdn.com/Images/common/wancheng.gif" /></span>
      </li>
    2、这个是表示没有出售的物品价格。还有1天时间  <span>0.027元/斤</span>
      </li>
      <li class="w50">
      <span>1天</span>
      </li>我只要0.033那些价格,不要0.027没有出售的价格
      

  5.   

    1
    (?is)\d+(\.\d+)(?=元/斤((?!<span).)+<span><img)
    2
    (?is)\d+(\.\d+)(?=元/斤.+?<span>[^<>]*</span>)如果没理解或不对。再回复例子
      

  6.   

    (?=<span>).*(?<=元/斤</span>)
    用我这个看看可以取到不?
      

  7.   

    \d+(\.\d+)的括号改一下位置(\d+\.\d+)
      

  8.   

    稍微修改一下,允许没有小数的情况1
    (?ins)\d+(\.\d+)?(?=元/斤((?!<span).)+<span><img)
    2
    (?ins)\d+(\.\d+)?(?=元/斤.+?<span>[^<>]*</span>)你是不是取的分组1?不用取分组的Regex reg = new Regex(@"(?ins)\d+(\.\d+)?(?=元/斤((?!<span).)+<span><img)");
    MatchCollection mc = reg.Matches(yourHtml);
    foreach(Match m in mc)
    {
        m.Value;//这个是你要的,不要写m.Groups[1].Value
    }
      

  9.   


    果然是,终于搞定了。新手真累。谢谢 
    thoughter  逍遥兄
      

  10.   

    这个没有得。按照 thoughter  改的可以了,谢谢两位
      

  11.   

    又无法得到?看来我们八字不合啊。呵呵。        static void Main(string[] args)
            {
                string yourHtml = @"
    ..............................
      </li>
      <li class=""w80"">
      <span>1</span>
      </li>
      <li class=""w88"">
      <span>0.027元/斤</span>
      </li>
      <li class=""w50"">
      <span>1天</span>
      </li>
    <li class=""clear"" ></li>
    ..............................  </li>
      <li class=""w88""></li>
      <li class=""w102"">
      <div><span class=""orange fBold"">100.00</span></div>
      </li>
      <li class=""w80"">
      <span>0</span>
      </li>
      <li class=""w88"">
      <span>0.027元/斤</span>
      </li>
      <li class=""w50"">
      <span><img src=""http://images.cdn.com/Images/common/wancheng.gif"" /></span>
      </li>
    <li class=""clear"" ></li>
    <div class=""clear"" ></div>
    .............................  </li>
      <li class=""w88""></li>
      <li class=""w102"">
      <div><span class=""orange fBold"">100.00</span></div>
      </li>
      <li class=""w80"">
      <span>0</span>
      </li>
      <li class=""w88"">
      <span>0.027元/斤</span>
      </li>
      <li class=""w50"">
      <span><img src=""http://images.cdn.com/Images/common/wancheng.gif"" /></span>
      </li>
    <li class=""clear"" ></li>
    <div class=""clear"" ></div>
    </ul>
    <script language=""javascript"">
    var t=""Consignment"";
    if(t==""API"")";
                Regex reg = new Regex(@"(?ins)\d+(\.\d+)?(?=元/斤((?!<span).)+<span><img)");
                MatchCollection mc = reg.Matches(yourHtml);
                foreach (Match m in mc)
                {
                    Console.WriteLine(m.Value);
                }
                Console.ReadKey();
            }我回答正则问题都是测试过的。这完整的例子也贴给你很多次了。没办法,如果你还得不到,看来我们相克,我给你你都无法用。无语了,以后跳过你的问题了……
      

  12.   

    我说可以了呀。就是按 thoughter 说的“\d+(\.\d+)的括号改一下位置(\d+\.\d+)”,修改一下你的就可以了。