当前位置:编程学习 > C#/ASP.NET >>

向正则高手请教。

有以下的html

<div class="c_type">
<table width="658" border="0" cellspacing="0" cellpadding="1">
  <tr>
<td width="70" height="25" align="right"><strong>公司行业:</strong></td>
<td style="width: 229px"> <span id="lbgshy">电子技术</span></td>
<td width="70" align="right"><strong>公司性质:</strong></td>
<td> <span id="lbgsxz">私营企业</span></td>
    <td width="90"><img id="zwsq" src="ljs1.gif" class="pointer" width="83" height="30" /></td>
  </tr>
             </table>
 
          </div>
  <div  class="job_tiaojian">
<table width="685" border="0" cellspacing="0" cellpadding="0">
  <tr>
<td width="70" height="30" align="center" bgcolor="#f1f1f1" style="border-left:0px;">发布日期</td>
<td > <span id="lbrq">2010年10月26日</span></td>
<td width="70" align="center" bgcolor="#f1f1f1">工作地点</td>
<td> <span id="lbdd">xx市>>市区</span></td>
<td width="70" align="center" bgcolor="#f1f1f1" >招聘人数</td>
<td style="border-right:0px;"> <span id="lbrs">3</span></td>
  </tr>
  <tr>
<td width="70" height="30" align="center" bgcolor="#f1f1f1" style="border-left:0px;">工作年限</td>
<td> <span id="lbnx">一年以上</span></td>
<td width="70" align="center" bgcolor="#f1f1f1">学历要求</td>
<td> <span id="lbxl">大专</span>
                    </td>
<td width="70" align="center" bgcolor="#f1f1f1">专业要求</td>
<td style="border-right:0px;"> <span id="lbzy">语言文学类  >>英语  </span></td>
  </tr>
  <tr>
<td width="70" height="30" align="center" bgcolor="#f1f1f1" style="border-left:0px;">外语要求</td>
<td> <span id="lbwy">英语</span></td>
<td width="70" align="center" bgcolor="#f1f1f1">工资待遇</td>
                    <td colspan="3" style="border-right:0px"> <span id="lbdy"></span></td>
  </tr>
</table>
 
  </div>
  <div class="job_miaoshu">职位描述</div>
  <div class="job_about">        
    <span id="lbms">             5.工作1年以上。<br/>        6.不符合要求者请勿投挡.<br/>        工资待遇:提成</span>
              </div>   


我希望可以获取
span id="lbgshy"中的文本
span id="lbgsxz"中的文本
span id="lbrq"中的文本
span id="lbdd"中的文本
span id="lbrs"中的文本
span id="lbnx"中的文本
span id="lbxl"中的文本
span id="lbzy"中的文本
span id="lbwy"中的文本
span id="lbdy"中的文本
span id="lbms"中的文本

这个id都是唯一的。谢谢。 --------------------编程问答--------------------
 string HTML = @"<div class=""c_type"">
                <table width=""658"" border=""0"" cellspacing=""0"" cellpadding=""1"">
                  <tr>
                    <td width=""70"" height=""25"" align=""right""><strong>公司行业:</strong></td>
                    <td style=""width: 229px""> <span id=""lbgshy"">电子技术</span></td>
                    <td width=""70"" align=""right""><strong>公司性质:</strong></td>
                    <td> <span id=""lbgsxz"">私营企业</span></td>
                    <td width=""90""><img id=""zwsq"" src=""ljs1.gif"" class=""pointer"" width=""83"" height=""30"" /></td>
                  </tr>
                 </table>
 
          </div>
          <div  class=""job_tiaojian"">
                <table width=""685"" border=""0"" cellspacing=""0"" cellpadding=""0"">
                  <tr>
                    <td width=""70"" height=""30"" align=""center"" bgcolor=""#f1f1f1"" style=""border-left:0px;"">发布日期</td>
                    <td > <span id=""lbrq"">2010年10月26日</span></td>
                    <td width=""70"" align=""center"" bgcolor=""#f1f1f1"">工作地点</td>
                    <td> <span id=""lbdd"">xx市>>市区</span></td>
                    <td width=""70"" align=""center"" bgcolor=""#f1f1f1"" >招聘人数</td>
                    <td style=""border-right:0px;""> <span id=""lbrs"">3</span></td>
                  </tr>
                  <tr>
                    <td width=""70"" height=""30"" align=""center"" bgcolor=""#f1f1f1"" style=""border-left:0px;"">工作年限</td>
                    <td> <span id=""lbnx"">一年以上</span></td>
                    <td width=""70"" align=""center"" bgcolor=""#f1f1f1"">学历要求</td>
                    <td> <span id=""lbxl"">大专</span>
                    </td>
                    <td width=""70"" align=""center"" bgcolor=""#f1f1f1"">专业要求</td>
                    <td style=""border-right:0px;""> <span id=""lbzy"">语言文学类  >>英语  </span></td>
                  </tr>
                  <tr>
                    <td width=""70"" height=""30"" align=""center"" bgcolor=""#f1f1f1"" style=""border-left:0px;"">外语要求</td>
                    <td> <span id=""lbwy"">英语</span></td>
                    <td width=""70"" align=""center"" bgcolor=""#f1f1f1"">工资待遇</td>
                    <td colspan=""3"" style=""border-right:0px""> <span id=""lbdy""></span></td>
                  </tr>
            </table>
 
          </div>
          <div class=""job_miaoshu"">职位描述</div>
          <div class=""job_about"">        
    <span id=""lbms"">             5.工作1年以上。<br/>        6.不符合要求者请勿投挡.<br/>        工资待遇:提成</span>
              </div>";

             string[] ids = new string[] { "lbgshy", "lbgsxz" };
             for (int i = 0; i < ids.Length; i++)
             {
                 Regex reg = new Regex(@"<span\s+id=""" + ids[i] + @"""[^>]*?>([\S\s]*?)</span>", RegexOptions.IgnoreCase);
                 Match m = reg.Match(HTML);
                 if (m.Success)
                 {
                     Response.Write(m.Result("$1") + "<BR>");
                 }
             }
--------------------编程问答-------------------- 用 jquery好了 --------------------编程问答-------------------- 这个其实很简单,只要是能总结规律的,都是可以用正则处理的。就跟写程序一样,就是让机器做有规律的,机械性的事情。为什么大家可以用正常的思维方式来来写程序解决大的问题,到小的语言(正则)的时候,就都不愿意思考了呢?
正则就是一语言,正对字符串的领域语言,没什么特别的。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,