日期:2014-05-18  浏览次数:20813 次

正则匹配两处红色区域的问题
<tr>
  <td>
<a href="/common/index.htm?Id=4231"
class="guan"
>【XXX】</a>
<p>
商品种类:<br/>xxx</p></td>
<td><span class="num">80</span>元
 
<a href="/sales/abc.htm?Id=4231"
>立即购买</a>
</td>
  <td> 30件
  </td>
<td><span class="num">0.9080</span>元</td>
<td>
  <span class="fh" title="我们将立即为您发货">闪电发货</span>
<span class="sj" title="实名认证卖家">认证卖家</span>
</td>
  </tr>

----------------------------------------------------------------------
以上/sales/abc.htm?Id=4231和0.9080怎么匹配出来?

------解决方案--------------------
C# code

            StreamReader reader = new StreamReader("c:\\1.txt",Encoding.Default);
            string source = reader.ReadToEnd();
            Regex reg = new Regex(@"(?is)<a href=""([^>]*?)>立即购买.*?<span class=""num"">([^>]*?)</span>");
            Match mm = reg.Match(source);
            MessageBox.Show(mm.Groups[1].Value);
            MessageBox.Show(mm.Groups[2].Value);

------解决方案--------------------
(?is)<a href=""([^'""]*?)[^>]*?>立即购买.*?<span class=""num"">([^>]*?)</span>