gpt4 book ai didi

javascript - 在 RegEx (JavaScript) 中正确转义变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:42:58 28 4
gpt4 key购买 nike

不想问,但我放弃了:-(我找不到解决方案

我不知道如何转义变量/字符串。

var highlight_chars_count = {{highlight_chars_count}};
var regex_string = "/(^\\w{" + highlight_chars_count + "})/";
var regex = new RegExp(regex_string);
$('h1').html(function(i, v) {
return v.replace(regex, "<span>$1</span>");
});

这个模式有效(没有 "和变量)

var regex = new RegExp(/(^\w{2})/);

我认为解决方案就在这里 JavaScript regex pattern concatenate with variable…但无法将其转移到我的正则表达式中。

变量 {{highlight_chars_count}} 是一个 Twig 变量。不幸的是,我也无法将变量插入到正则表达式模式中。

最佳答案

你不需要 / 并且你可以没有捕获组:

var regex_string = "^\\w{" + highlight_chars_count + "}";

然后

return v.replace(regex, "<span>$&</span>"); 
^

请注意,当您使用正则表达式文字符号声明正则表达式时,正则表达式是静态的(例如 var rx =/abc/g).在这里,您使用构造函数符号

此外,$& 反向引用指的是整个匹配文本,因此,不需要用捕获组包围整个模式。

More information on RegExp regex literal and constructor notation at MDN

关于javascript - 在 RegEx (JavaScript) 中正确转义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37140977/

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