【问题标题】:Regex not working with Yahoo Pipes V2 (worked with V1)正则表达式不适用于 Yahoo Pipes V2(与 V1 一起使用)
【发布时间】: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 &amp; 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),它没有提取任何东西。

我认为这与 &lt;/b&gt;10 之间的换行符有关,但即使我尝试了多种组合,我也找不到合适的组合。

谁能帮帮我?

谢谢

【问题讨论】:

    标签: regex yahoo-pipes


    【解决方案1】:

    试试这个正则表达式:

    Total Songs:\D*((?!0*[0-7](?!\d))\d+)(?!\d)
    

    号码将存储在第一个捕获组中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多