求正则匹配下面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> <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> <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/>");