检查字符串是否与正则表达式匹配,并将其中一部分删除以供使用

时间:2010-08-12 16:12:47

标签: ruby regex url

我想在使用YouTube网址时添加自动嵌入功能(http://www.youtube.com/watch?v=VID,其中VID是视频的ID)。

为此,我需要检查存储在变量url中的给定URL是否与“/http:\/\/www\.youtube\.com\/watch\?v=([a-z0-9]+).*/i”匹配,然后我需要删除VID以使用它(例如,放入VID在另一个变量中。)

我该怎么做(匹配和剥离)?感谢。


P.S。是的,我将处理禁用嵌入的视频 P.P.S.不,不是那种剥离!

2 个答案:

答案 0 :(得分:4)

如果您只使用匹配字符串方法和正则表达式,如果找到匹配项,它会将VID放在$ 1变量中。

yourstring.match(/http:\/\/www\.youtube\.com\/watch\?v=([a-z0-9]+).*/i)
yourvariable = $1

答案 1 :(得分:0)

使用match是Python方式。所以请改用:

var = str[/http:\/\/www\.youtube\.com\/watch\?v=([a-z0-9]+).*/i,1]

/http:\/\/www\.youtube\.com\/watch\?v=(?<var>[a-z0-9]+).*/i =~ str