我正在尝试移植 PHPpreg_match
表达式以从 Javascript 中的 YouTube 嵌入代码中提取视频 ID。我目前在 PHP 中有这个:
$pattern = '%(?:https?://)?(?:www\.)?(?:youtu\.be/| youtube\.com(?:/embed/|/v/|/watch\?v=))([\w-]{10,12})[a-zA-Z0-9\<\>\"]%x';
$result = preg_match($pattern, $url, $matches);
这有效并返回我一个视频ID。我尝试使用以下方法使其在 Javascript 中工作:
var reg = /(?:https?://)?(?:www\.)?(?:youtu\.be/|youtube\.com(?:/embed/|/v/|/watch\?v=))([\w-]{10,12})/g;
var matches = uploadVideoEmbedCode.match(reg);
我使用的测试数据是:
<iframe width="560" height="315" src="http://www.youtube.com/embed/1NMUDb3Ewhs" frameborder="0" allowfullscreen></iframe>
当我尝试在 javascript 中使用上述正则表达式时,出现以下错误:
Uncaught SyntaxError: Unexpected token ?
您一如既往的帮助将不胜感激。