gpt4 book ai didi

带变量的javascript正则表达式?

转载 作者:行者123 更新时间:2023-12-03 16:39:43 27 4
gpt4 key购买 nike

我正在尝试使用一个变量作为查询来执行一个正则表达式。

//This works
$('body *').replaceText(/\b(Toronto)/gi, nameWrapper );

我需要在变量中包含“Toronto”

var query = "Toronto";
$('body *').replaceText(/\b( -- query VARIABLE HERE -- )/gi, nameWrapper );

最佳答案

您需要使用 RegExp从字符串构建正则表达式:

var query = "Toronto";
$('body *').replaceText(RegExp("\\b(" + query + ")", "gi"), nameWrapper);

为了正确地引用你的字符串,你可以使用这个:

RegExp.quote = function(str) {
return str.replace(/(?=[\\^$*+?.()|{}[\]])/g, "\\");
}

然后在构建正则表达式时只需使用 RegExp.quote(query) 而不是 query:

var query = "Toronto";
$('body *').replaceText(RegExp("\\b(" + RegExp.quote(query) + ")", "gi"), nameWrapper);

关于带变量的javascript正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4237051/

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