作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在 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/
我是一名优秀的程序员,十分优秀!