【发布时间】:2011-10-18 08:47:28
【问题描述】:
我有这个正则表达式:
/.*v\=([\w-]+).*(&autoplay\=1)?/
我要匹配的对象:
http://www.youtube.com/watch?v=awmLS6GCJno&width=1000&height=300&autoplay=1
这不起作用。 (它匹配 v=.. 但不匹配 autoplay=1)
但是,如果我将正则表达式更改为:
/.*v\=([\w-]+).*(&autoplay\=1)/
(自动播放后没有?),那么它确实匹配两者..(但现在没有 &autoplay 的 URL 将不再匹配)..这就是我添加 ?在那个组之后..这是错的吗?还有其他方法吗?
关于自动填充标题的问题,显然不是问题。
【问题讨论】:
-
问题可能不是正则表达式引起的。
-
我用在线正则表达式测试器对其进行了测试,结果不匹配:gskinner.com/RegExr
-
我用链接(有和没有
&autoplay=1)测试了你的第一个正则表达式,它两次都匹配。使用 expresso 和 gskinner.com\regexr 对此进行了测试-因此我得出结论,您的问题出在其他地方! -
@Jamiec 我也用 regexr 测试过,如果你用 ?最后,您会注意到,当您将鼠标悬停在匹配的 URL 上时,第二个子匹配不可用。 (autoplay=1) 不匹配,但它在字符串中..
标签: javascript regex