gpt4 book ai didi

javascript - Firefox 扩展如何将字符串类型变量传递给 javascript 替换正则表达式参数?

转载 作者:行者123 更新时间:2023-11-30 17:09:11 24 4
gpt4 key购买 nike

我已经在 firefox 扩展上工作了好几天了,有一件事我无法解决。

我生成了一个正则表达式列表,我想将该字符串传递给 javascript 中的替换函数(在正则表达式参数中)。这是字符串的示例:

/(https?:\/\/(www\.)?rapidgator\.net\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))/g
/(https?:\/\/(www\.)?ul\.to\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))/g
/(https?:\/\/(www\.)?uploadable\.ch\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))/g
/(https?:\/\/(www\.)?180upload\.com\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))/g

为了方便起见,我们就这样吧。我设法获取文件并获取字符串的第一行并将其分配给变量:

var rapidgator = "/(https?:\/\/(www\.)?rapidgator\.net\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))/g";

我希望字符串是这样的“替换参数”:

var rep = rep.replace(rapidgator,"<a href='$1'>$1</a>");

但我无法完成这项工作。

我一直在尝试使用 RegExp 对象,但没有成功。

var rapidgator = new RegExp("(https?:\/\/(www\.)?rapidgator\.net\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))", "g");

如何让它发挥作用?谢谢你的建议:)

最佳答案

如果您可以获得正则表达式,为什么不让它保留为正则表达式文字?

var rapidgator = /(https?:\/\/(www\.)?rapidgator\.net\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))/g;

如果你想通过 RegExp 构造函数实现它,确保你用另一个反斜杠转义 \ 并且你不需要分隔符并且第二个参数接受标志。

var rapidgator = new RegExp("(https?:\\/\\/(www\\.)?rapidgator\\.net\\b([-a-zA-Z0-9@:%_\+.~#?&//=]*))","g")

关于javascript - Firefox 扩展如何将字符串类型变量传递给 javascript 替换正则表达式参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27354277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com