1

如何在雅虎管道中制作正则表达式以消除从字段开头到特定单词的所有内容?

我正在从 youtube 上获取 rss,

http://www.youtube.com/rss/search/%s.rss

并希望提取视图计数并将其添加为单独的字段。视图计数位于描述字段中,并显示为:

<div><span style="color:#666666;font-size:11px;">Views:</span>
431</div>

在这种情况下,我需要提取的数字是 431。

谢谢,
彼得罗

PS:以下是最近搜索的描述的一部分。我没有放整个代码,因为它太长了。

<div style="font-size:12px;margin:3px 0px;"><span>a frankly shoddy cover of Susan Cadogan&#39;s big hit! Reminds me of my first &#39;squeeze&#39; at The Hummingbird under 18&#39;s sesh, monkey boots, (couldn&#39;t afford Docs),fred perry t shirt and stapress &#39;champagne&#39; 2 tone trousers robbed from Nelson House....................</span></div></td>
<td style="font-size:11px;line-height:1.4em;padding-left:20px;padding-top:1px;" width="146" valign="top"><div><span style="color:#666666;font-size:11px;">From:</span>
<a rel="nofollow" target="_blank" href="http://www.youtube.com/channel/UCZ0m4ZjZMNdOl4uyvrQm-yw">TheLastMehari</a></div>
<div><span style="color:#666666;font-size:11px;">Views:</span>
431</div>
<div style="white-space:nowrap;text-align:left;"><img style="border:0px none;margin:0px;padding:0px;vertical-align:middle;font-size:11px;" align="top" alt="" src="http://gdata.youtube.com/static/images/icn_star_empty_11x11.gif"> <img style="border:0px none;margin:0px;padding:0px;vertical-align:middle;font-size:11px;" align="top" alt="" src="http://gdata.youtube.com/static/images/icn_star_empty_11x11.gif"> <img style="border:0px none;margin:0px;padding:0px;vertical-align:middle;font-size:11px;" align="top" alt="" src="http://gdata.youtube.com/static/images/icn_star_empty_11x11.gif"> <img style="border:0px none;margin:0px;padding:0px;vertical-align:middle;font-size:11px;" align="top" alt="" src="http://gdata.youtube.com/static/images/icn_star_empty_11x11.gif"> <img style="border:0px none;margin:0px;padding:0px;vertical-align:middle;font-size:11px;" align="top" alt="" src="http://gdata.youtube.com/static/images/icn_star_empty_11x11.gif"></div>
4

3 回答 3

1

也许是这样的?http://rubular.com/r/boubtEmP4s

于 2012-10-01T16:45:20.563 回答
1

替换部分应该是这样的:

^.*Views:\D*(\d+).*$

...更换零件将只是

$1

换句话说,您将Views:仅用非数字符号捕获与字符串分隔的所有数字 - 并丢弃所有其余数字。

更新:您应该启用/s修饰符才能使其正常工作。另一种方法是使用“通用”字符类而不是.

^[\s\S]*Views:\D*(\d+)[\s\S]*$

更换部件应保持不变。

于 2012-10-01T16:48:15.653 回答
0

最后,我最终合并了这两个建议,并使用:

^[\s\S]*Views:\<\/span\>\s*(\d+)[\s\S]*$
于 2012-10-01T18:09:37.450 回答