例如,我有一些 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/