首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将PHP RegEx转换为JavaScript RegEx

问将PHP RegEx转换为JavaScript RegEx
EN

Stack Overflow用户
提问于 2012-02-16 18:12:15
回答 2查看 3.4K关注 0票数 1

我有一个PHP正则表达式,我正在用它从一个网址中获取YouTube视频代码。

我希望将其与JavaScript中的客户端正则表达式相匹配。谁能告诉我如何将下面的PHP转换成JavaScript?

代码语言:javascript
复制
preg_match("#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=v\/)[^&\n]+(?=\?)|(?<=embed/)[^&\n]+|(?<=v=)[^&\n]+|(?<=youtu.be/)[^&\‌​n]+#", $url, $matches);

非常感谢,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-16 18:19:09

我认为唯一的问题是去掉后视断言(?<=...),它们在Javascript中是不受支持的。

它们的优点是,您可以使用它们来确保模式在某些东西之前,但它们不包括在匹配中。

因此,您需要删除它们,这意味着将(?<=v=)[a-zA-Z0-9-]+(?=&)更改为v=[a-zA-Z0-9-]+(?=&),但现在您的匹配以"v=“开头。

如果你只需要验证,而不需要匹配的部分,那么它很好,你就完成了。

但是,如果您需要v=之后的部分,则将所需的模式放入捕获组中,并继续使用这些捕获的值。

代码语言:javascript
复制
v=([a-zA-Z0-9-]+)(?=&)

然后,您将在第一组的$1、第二组的$2、$3中找到匹配的子字符串。

票数 1
EN

Stack Overflow用户

发布于 2012-02-16 18:16:02

你可以用这篇文章来替换你的后视断言。

Javascript: negative lookbehind equivalent?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9309349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档