JavaScript 负面回顾问题

标签 javascript regex

例如,我有一些 JavaScript 可以在 Amazon 链接中查找 Amazon ASIN

http://www.amazon.com/dp/B00137QS28

为此,我使用以下正则表达式:/([A-Z0-9]{10})

但是,我不希望它匹配如下所示的艺术家链接:

http://www.amazon.com/Artist-Name/e/B000AQ1JZO

因此,我需要排除任何在斜线和 10 个字符的字母数字代码之前有“/e”的链接。我认为以下内容可以做到这一点:(?<!/e)([A-Z0-9]{10}) ,但事实证明,负面回顾在 JavaScript 中不起作用。是对的吗?还有另一种方法吗?

如有任何帮助,我们将不胜感激!

作为旁注,请注意有很多亚马逊链接格式,这就是为什么我想要黑名单而不是白名单,例如,这些都是相同的页面:

http://www.amazon.com/gp/product/B00137QS28/
http://www.amazon.com/dp/B00137QS28
http://www.amazon.com/exec/obidos/ASIN/B00137QS28/
http://www.amazon.com/Product-Title-Goes-Here/dp/B00137QS28/

最佳答案

在您的情况下,这样的表达式会起作用:

/(?!\/e)..\/([A-Z0-9]{10})/

关于JavaScript 负面回顾问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9236594/

相关文章:

javascript - 如何在 jQuery 中为平行四边形制作动画

javascript - 在没有 jquery 的情况下使用 Velocity.js UI 动画的问题

javascript - 从javascript中的函数访问变量?

javascript - 将事件类添加到子状态下的元素

javascript - 使用正则表达式在字符串模式出现前后插入文本

regex - 思科正则表达式匹配此但不匹配

php - 如何删除(不是删除)动态生成的表格元素?

regex - 银行帐号的正则表达式?

javascript - 用于在 Javascript 中替换具有一种标记类型的字符串的正则表达式

java - 在java中匹配字符串中的感叹号