Javascript:使用正则表达式反向引用引用数组元素

发布于 2024-11-01 19:39:34 字数 250 浏览 2 评论 0原文

基本上,我试图使用关联数组中的元素替换字符串的一部分。但是,我需要根据从 Replace() 表达式中捕获组生成的反向引用来获取元素。

使用第一个捕获组,我创建了这段代码,但它不起作用:(

content = content.replace(/%(\w+)%/g,this.vars["$1"]);

正则表达式工作正常......我只是无法让它抓取数组元素。)

我将如何实现这样的事情?

Basically, I'm trying to replace parts of a string using elements from an associative array. However, I need to grab elements based on backreferences generated from capturing groups in a replace() expression.

Using the first capturing group, I created this code, which doesn't work:

content = content.replace(/%(\w+)%/g,this.vars["$1"]);

(The regex works fine... I just can't get it to grab the array element.)

How would I go about implementing something like this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦里南柯 2024-11-08 19:39:34

String.replace 可以 将函数作为第二个论点

var that = this,
    re = /%(\w+)%/g;

content = content.replace(re, function (str, p1)
{
    return that.vars[p1];
});

String.replace can take a function as the second argument.

var that = this,
    re = /%(\w+)%/g;

content = content.replace(re, function (str, p1)
{
    return that.vars[p1];
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文