如何在雅虎管道中制作正则表达式以消除从字段开头到特定单词的所有内容?
我从youtube上获取rss,
http://www.youtube.com/rss/search/%s.rss
并且想要提取视图计数并将其添加为单独的字段。视图计数位于说明字段中,显示为:
<div><span style="color:#666666;font-size:11px;">Views:</span>
431</div>
在这种情况下,我需要提取的数字是431。
谢谢,
彼得
P.S:以下内容是最近搜索的描述的一部分。我没有把整个代码放在一起,因为它太长了。
<div style="font-size:12px;margin:3px 0px;"><span>a frankly shoddy cover of Susan Cadogan's big hit! Reminds me of my first 'squeeze' at The Hummingbird under 18's sesh, monkey boots, (couldn't afford Docs),fred perry t shirt and stapress 'champagne' 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>
答案 0 :(得分:1)
也许是这样的? http://rubular.com/r/boubtEmP4s
答案 1 :(得分:1)
替换部分应该是这样的:
^.*Views:\D*(\d+).*$
......而替换部分将只是
$1
换句话说,你将捕获所有与Views:
字符串分隔的数字,仅包含非数字符号 - 然后抛弃所有其他数字。
更新:您应该启用/s
修饰符才能生效。另一种方法是使用“通用”字符类而不是.
:
^[\s\S]*Views:\D*(\d+)[\s\S]*$
更换部件应保持不变。
答案 2 :(得分:0)
最后,我最终合并了两个建议,并使用:
^[\s\S]*Views:\<\/span\>\s*(\d+)[\s\S]*$