【发布时间】:2011-12-10 12:47:09
【问题描述】:
我有一个 c# 代码、一个正则表达式和 HTML 源文件。它在 RegexBuddy 和 http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx 中运行良好,但在 Visual Studio 中运行良好。请帮助并解释我出了什么问题。
我的期望是:
找到 3 个匹配项:
/setcard/?set=4387740&t=1&secure=xJHC9dYymGSnImebS4qLPw%3D%3D" onclick="return openUrl(this.href);" >Username</a></td> <td bgcolor="#F6F6F6"><a href="../../msg/?id=49244417" onclick="return openUrl(this.href);">Message1 example text</a></td> <td bgcolor="#F6F6F6">16.10.11 23:20</td> has 5 groups:
1. 4387740
2. Username
3. 49244417
4. Message1 example text
5. 16.10.11 23:20
/setcard/?set=4387740&t=1&secure=xJHC9dYymGSnImebS4qLPw%3D%3D" onclick="return openUrl(this.href);" >Username2</a></td> <td><a href="../../msg/?id=49223017" onclick="return openUrl(this.href);">Message2 example text</a></td> <td>16.10.11 14:42</td> has 5 groups:
1. 4387740
2. Username2
3.49223017
4. Message2 example text
5. 16.10.11 14:42
/setcard/?set=4387740&t=1&secure=xJHC9dYymGSnImebS4qLPw%3D%3D" onclick="return openUrl(this.href);" >Username3</a></td> <td bgcolor="#F6F6F6"><a href="../../msg/?id=49222720" onclick="return openUrl(this.href);">Message3 example text</a></td> <td bgcolor="#F6F6F6">16.10.11 14:34</td> has 5 groups:
1. 4387740
2. Username3
3. 49222720
4. Message3 example text
5. 16.10.11 14:34
正则表达式
@"/setcard/\?set=([0-9]*).*;"" >(.*)</a></td>$\s.*/msg/\?id=([0-9]*).*ref\);"">(.*)</a></td>$\s\s?.*>(.*)</td>$"
C#代码
using (StreamReader rdr = File.OpenText("file.html"))
{ s = rdr.ReadToEnd(); }
Regex listMsgs = new Regex(@"/setcard/\?set=([0-9]*).*;"".>(.*)</a></td>$
.*/msg/\?id=([0-9]*).*ref\);"">(.*)</a></td>$
?.*>(.*)</td>$", RegexOptions.Multiline);
Match m = listMsgs.Match(s);
while (m.Success)
{}
HTML 源代码
<td bgcolor="#F6F6F6" class="c1"><IMG BORDER="0" SRC="transparent.gif" width="15px" height="15px" /></td>
<td bgcolor="#F6F6F6" style="width:108px"><a href="../../auswertung/setcard/?set=4387740&t=1&secure=xJHC9dYymGSnImebS4qLPw%3D%3D" onclick="return openUrl(this.href);" >Username</a></td>
<td bgcolor="#F6F6F6"><a href="../../msg/?id=49244417" onclick="return openUrl(this.href);">Message1 example text</a></td>
<td bgcolor="#F6F6F6">16.10.11 23:20</td>
<td bgcolor="#F6F6F6">
</td>
<td bgcolor="#F6F6F6" align="center">
<img src="message_art1.gif" width="14" height="10" border="0" /> </td>
<td bgcolor="#F6F6F6"><input type="checkbox" name="messages[]" id="id_msg_1" value="49244417"></td>
</tr>
<tr height="20">
<td class="c1"><IMG BORDER="0" SRC="transparent.gif" width="15px" height="15px" /></td>
<td style="width:108px"><a href="../../auswertung/setcard/?set=4387740&t=1&secure=xJHC9dYymGSnImebS4qLPw%3D%3D" onclick="return openUrl(this.href);" >Username2</a></td>
<td><a href="../../msg/?id=49223017" onclick="return openUrl(this.href);">Message2 example text</a></td>
<td>16.10.11 14:42</td>
<td>
</td>
<td align="center">
2 </td>
<td><input type="checkbox" name="messages[]" id="id_msg_2" value="49223017"></td>
</tr>
<tr height="20">
<td bgcolor="#F6F6F6" class="c1"><IMG BORDER="0" SRC="transparent.gif" width="15px" height="15px" /></td>
<td bgcolor="#F6F6F6" style="width:108px"><a href="../../auswertung/setcard/?set=4387740&t=1&secure=xJHC9dYymGSnImebS4qLPw%3D%3D" onclick="return openUrl(this.href);" >Username3</a></td>
<td bgcolor="#F6F6F6"><a href="../../msg/?id=49222720" onclick="return openUrl(this.href);">Message3 example text</a></td>
<td bgcolor="#F6F6F6">16.10.11 14:34</td>
<td bgcolor="#F6F6F6">
</td>
<td bgcolor="#F6F6F6" align="center">
2 </td>
<td bgcolor="#F6F6F6"><input type="checkbox" name="messages[]" id="id_msg_3" value="49222720"></td>
</tr>
<tr height="20">
【问题讨论】:
-
如何描述您的结果与您的预期。
-
嗨,嘘,我编辑了我的问题...