【发布时间】:2011-06-10 00:16:27
【问题描述】:
我正在制作一个正则表达式,以便可以在用户发布的一段 HTML 文本中找到 youtube 链接(可以是多个)。
目前我正在使用以下正则表达式将“http://www.youtube.com/watch?v=-JyZLS2IhkQ”更改为显示相应的 youtube 视频:
return re.compile('(http(s|):\/\/|)(www.|)youtube.(com|nl)\/watch\?v\=([a-zA-Z0-9-_=]+)').sub(tag, value)
(其中变量“标签”是一些 html,因此视频可以正常工作并“重视”用户帖子)
现在这个工作..直到网址是这样的:
'http://www.youtube.com/watch?v=-JyZLS2IhkQ&feature...'
现在我希望你们能帮助我弄清楚如何匹配“&feature...”部分,使其消失。
示例 HTML:
No replies to this post..
Youtube vid:
http://www.youtube.com/watch?v=-JyZLS2IhkQ
More blabla
感谢您的意见,非常感谢
斯蒂芬
【问题讨论】:
-
你的正则表达式很糟糕:)
-
等什么?您是否试图找到隐藏在某些 html 代码中的 youtube 链接?我很难从你的问题中解析出来!
-
很抱歉这个不好的问题,我改变了帖子,希望现在更清楚了。
-
关于残暴的正则表达式,如何改进?
-
您的示例并不是真正的 html,并且您没有告诉我们可以从价值中得到什么。如果 value 是用户提供的,你会遇到各种麻烦。