读书人

求正则匹配下面HTML代码中的03、07、0

发布时间: 2012-06-13 12:30:18 作者: rapoo

求正则匹配下面HTML代码中的03、07、09、15、24、25、16这几个数字
<td><a href="/lottery/draw/view/50">双色球</a></td> <td>2012026期</td> <td>2012-03-06</td> <td> <div class="ballbg">
<span class="ball_1">03</span>
<span class="ball_1">07</span>
<span class="ball_1">09</span>
<span class="ball_1">15</span>
<span class="ball_1">24</span>
<span class="ball_1">25</span> <span class="ball_2">16</span>

</div>


</td>


怎么写正则表达式 能正确匹配出这几个数字???求帮助

[解决办法]
换一下,没注意class="ball_2"这个
(?<=<span>)(.*)(?=</span>)
[解决办法]

C# code
        string s = @"<td><a href=""/lottery/draw/view/50"">双色球</a></td> <td>2012026期</td> <td>2012-03-06</td> <td> <div class=""ballbg"">   <span class=""ball_1"">03</span>   <span class=""ball_1"">07</span>   <span class=""ball_1"">09</span>   <span class=""ball_1"">15</span>   <span class=""ball_1"">24</span>   <span class=""ball_1"">25</span> <span class=""ball_2"">16</span>  </div>   </td>";        MatchCollection matches = Regex.Matches(s, @"(?is)(?<=双色球.*?)<span class=""ball_\d"">(\d+)</span>(?=.*?</div>)");        foreach (Match match in matches)            Response.Write(match.Groups[1].Value + "<br/>");
[解决办法]
探讨
引用:
C# code

string s = @"<td><a href=""/lottery/draw/view/50"">双色球</a></td> <td>2012026期</td> <td>2012-03-06</td> <td> <div class=""ballbg"">
<span class=""ball_1"">03</span>
<s……

[解决办法]
C# code
        string s = @"<td><a href=""/lottery/draw/view/50"">双色球</a></td> <td>2012026期</td> <td>2012-03-06</td> <td> <div class=""ballbg"">   <span class=""ball_1"">03</span>   <span class=""ball_1"">07</span>   <span class=""ball_1"">09</span>   <span class=""ball_1"">15</span>   <span class=""ball_1"">24</span>   <span class=""ball_1"">25</span> <span class=""ball_2"">16</span>  </div>   </td>";        MatchCollection matches = Regex.Matches(s, @"(?is)(?<=双色球</a></td>\s+<td>\d+期</td>.*?)<span class=""ball_\d"">(\d+)</span>(?=.*?</div>)");        foreach (Match match in matches)            Response.Write(match.Groups[1].Value + "<br/>"); 


[解决办法]

C# code
 string s = @"<td><a href=""/lottery/draw/view/50"">双色球</a></td> <td>2012026期</td> <td>2012-03-06</td> <td> <div class=""ballbg"">   <span class=""ball_1"">03</span>   <span class=""ball_1"">07</span>   <span class=""ball_1"">09</span>   <span class=""ball_1"">15</span>   <span class=""ball_1"">24</span>   <span class=""ball_1"">25</span> <span class=""ball_2"">16</span>  </div>   </td>";            MatchCollection matches = Regex.Matches(s, @"(?is)(?<=双色球</a></td>\s+<td>\d+期</td>.*)<span class=""ball_\d"">(\d+)</span>(?=.*?</div>)");            foreach (Match match in matches)            MessageBox.Show(match.Groups[1].Value);           // Response.Write(match.Groups[1].Value + "<br/>");
[解决办法]
探讨
引用:
C# code

string s = @"<td><a href=""/lottery/draw/view/50"">双色球</a></td> <td>2012026期</td> <td>2012-03-06</td> <td> <div class=""ballbg"">
<span class=""ball_1"">03</span>
<……

[解决办法]
探讨

引用:
引用:
C# code

string s = @"<td><a href=""/lottery/draw/view/50"">双色球</a></td> <td>2012026期</td> <td>2012-03-06</td> <td> <div class=""ballbg"">
<span cl……

[解决办法]
分两次匹配:
C# code
        string s = @"<td><a href=""/lottery/draw/view/50"">双色球</a></td> <td>2012026期</td> <td>2012-03-06</td> <td> <div class=""ballbg"">   <span class=""ball_1"">03</span>   <span class=""ball_1"">07</span>   <span class=""ball_1"">09</span>   <span class=""ball_1"">15</span>   <span class=""ball_1"">24</span>   <span class=""ball_1"">25</span> <span class=""ball_2"">16</span>  </div>   </td>";        Match match = Regex.Match(s, @"(?is)(?<=双色球</a></td>\s*<td>\d+期</td>\s*<td>[^<>]+</td>\s*<td>\s*<div class=""ballbg"">).+?(?=</div>)");        MatchCollection matches = Regex.Matches(match.Value, @"(?is)<span class=""ball_\d+"">(\d+)</span>");        foreach (Match m in matches)            Response.Write(m.Groups[1].Value + "<br/>"); 

读书人网 >C#

热点推荐