我正在尝试在我的 CKEditor 插件之一中做一些小事情:
onOk:function(){
var sInsert=this.getValueOf('info','insertcode_area');
if ( sInsert.length > 0 ) {
regex = new RegExp('(?<=\?v=)([-a-zA-Z0-9_-]+)', 'gi');
url = 'http://www.youtube.com/v/'+sInsert.match(regex);
sInsert = '<object type="application/x-shockwave-flash" data="'+url+'" width="425" height="350"><param name="movie" value="'+url+'" /><a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&promoid=BIOW" target="blank"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get flash player to play to this file" width="88" height="31" /></a><br /></object>';
e.insertHtml(sInsert);
}
}
它应该做什么:将 YouTube 的视频代码与输入的 URL 相匹配,并将其连接到我的 URL 字符串,以便 URL 有效且可嵌入。
但我目前收到此错误:
invalid quantifier ?<=?v=)([-a-zA-Z0-9_-]+)
所以我认为这是一个正常的错误,因为我不经常使用正则表达式,也许我从来没有见过这个:)所以如果有人可以帮助我那就太好了:)
谢谢!
最佳答案
您正在使用“正向回顾”(?<=)
JavaScript 不支持
关于javascript - 将正则表达式与 Javascript 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2086570/