<分区>
我正在尝试修改和更新一个旧的 Greasemonkey 脚本,目标是自动将附属 ID 添加到所有亚马逊链接。我是 JavaScript 的新手,但我通常很擅长修改任何语言的现有脚本。这里只有一行我无法理解。
我开始的脚本已经过时了,所以我不知道是语法有问题还是链接格式发生了变化。有人可以帮助我了解这条线的作用,以便我对其进行更改吗?
const affiliateLink = /(obidos.(ASIN.{12}([^\/]*(=|%3D)[^\/]*\/)*|redirect[^\/]*.(tag=)?))[^\/&]+/i;
好吧,你自找的:)
启动正则表达式:
/
开始群操作:
(
搜索后跟任何单个字符的文本“obidos”
obidos.
打开另一个组操作符:
(
搜索文本“ASIN”后跟任何 12 个字符
ASIN.{12}
另一个组操作:
(
后跟 0 个或多个不是斜杠的字符:
[^\/]*
搜索 '=' 字符或编码为 '=' (%3D) 的 url 的组操作:
(=|%3D)
后跟 0 个或多个不是斜杠的字符:
[^\/]*
后跟斜杠(并关闭当前组),可以重复0次或多次:
\/)*
如果找到前一组或匹配栏右侧的所有内容,则允许模式匹配:
|
匹配文本“redirect”后跟 0 个或多个不是斜杠的字符:
redirect[^\/]*
匹配任何单个字符,后跟可选的文本“tag=”:
.(tag=)?
关闭我们目前仍在其中的两个组操作:
))
后跟一个或多个不是斜线或&的字符:
[^\/&]+
关闭正则表达式:
/