gpt4 book ai didi

javascript - 如何在 javascript 中使用正则表达式引用所有变量名称

转载 作者:行者123 更新时间:2023-11-28 10:46:20 24 4
gpt4 key购买 nike

我有一个像这样的字符串:

"xyz([x,3],x,[x,y],{y:1})" needs to be "xyz(['x',3],'x',['x','y'],{'y':1})"

注意:在这种情况下,变量可以是从 az 的任何字母

我需要将 x、y 和 z 等变量替换为其引用的版本

在我的测试中,正则表达式捕获了逗号,问题是,如果我捕获 x,则由于逗号相交,不会捕获 y。

var str = "xyz([x,3],x,[x,y],{y:1})"
str.replace(/(\W)([a-z])(\W)/g,"$1'$2'$3")
//output: mul(['x',3],'x',['x',y],{'y':1})

添加示例:JSFiddle

有没有办法指定周围的元素而不捕获它们?

最佳答案

这将替换逗号或冒号之前的变量。

    var txt="xyz([x,3],x,[x,y],{y:1})";

txt.replace(/[a-z]+[,:\])]/g, function f(x){
return "'"+x.replace(/[,:\]\)]/g,"")+"'"+x[x.length-1];
})

关于javascript - 如何在 javascript 中使用正则表达式引用所有变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42196897/

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