【发布时间】:2011-10-13 21:34:51
【问题描述】:
我正在使用 Yahoo Pipes 分析 RSS 提要。在每篇文章中,我想用正则表达式解析 HTML 代码,看看字符串“Total Songs”后面的值是否大于 7。在所有文章中,代码的布局如下例所示(带行在相同的位置结束)。
这是我想做的一个例子。在以下代码中,要提取的值应为 10:
<table BORDER="0" WIDTH="100%"><tr><td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td ALIGN="CENTER" WIDTH="166" VALIGN="TOP"><a rel="nofollow" target="_blank" href="http://itunes.apple.com/preorder/bn2-1tw/id449071164?uo=1&v0=9988"><img border="0" src="http://a2.mzstatic.com/us/r1000/091/Music/73/0e/f0/mzi.gxsvtfmh.100x100-75.jpg"/></a></td>
<td width="10"><img alt="" width="10" height="1" src="http://r.mzstatic.com/images/spacer.gif"/></td>
<td width="95%"><b><a rel="nofollow" target="_blank" href="http://itunes.apple.com/preorder/bn2-1tw/id449071164?uo=1&v0=9988">Bn2 1Tw</a></b><br>
<a rel="nofollow" target="_blank" href="http://itunes.apple.com/artist/kobana/id424122973?uo=1&v0=9988">Kobana & Yane3dots</a><br><br>
<font size="3" FACE="Helvetica,Arial,Geneva,Swiss,SunSans-Regular"><b>Expected Release Date:</b>
August 17, 2011<br>
</font><font size="3" FACE="Helvetica,Arial,Geneva,Swiss,SunSans-Regular"><b>Total Songs:</b>
10</font><br>
<font size="3" FACE="Helvetica,Arial,Geneva,Swiss,SunSans-Regular"><b>Genre:</b>
<a rel="nofollow" target="_blank" href="http://itunes.apple.com/genre/music-electronic/id7?uo=1&v0=9988">Electronic</a></font><br>
<font size="3" FACE="Helvetica,Arial,Geneva,Swiss,SunSans-Regular"><b>Album Price:</b>
$1.99</font><br>
<font size="3" FACE="Helvetica,Arial,Geneva,Swiss,SunSans-Regular"><b>Copyright</b>
Proton LLC</font></td>
</tr>
</table></td></tr>
</table>
我使用的是 Yahoo Pipes 引擎的第 1 版
(?<=Total.Songs\:.....)((8|9)|([1-9][0-9]+))
这曾经可以工作,但在那时,我得到的 HTML 格式有点不同(管道引擎在不同的地方插入了换行符)。现在我转向 V2 引擎(这是必要的,因为他们将在 8 月 1 日逐步淘汰 V1),它没有提取任何东西。
我认为这与 </b> 和 10 之间的换行符有关,但即使我尝试了多种组合,我也找不到合适的组合。
谁能帮帮我?
谢谢
【问题讨论】:
标签: regex yahoo-pipes