如何替换括号内的数字,以替换不匹配单词“Field”的字符串。因此,'SomethingElse'和'SomethingMore'中的数字可以替换为新值,但是不会触及术语'Field'右侧的任何括号内的值。请注意,单词“Field”将始终保持不变,因此可以在正则表达式中将其引用为魔术字符串。
Field[50].SomethingElse[30]
Field[50].SomethingMore[30]
感谢。 PS。使用JavaScript。
答案 0 :(得分:2)
str.replace(/\b((?!Field\[)\w+)\[\d+\]/g, '$1[' + repl + ']');
答案 1 :(得分:1)
尝试
str.replace(/(Field\[[^\]]*\]\.[^\[]*)\[(.*)\]/g, "$1["+value+"]");
答案 2 :(得分:1)
str.replace(/(?<!Field)\[([\d]*)\]]/g, '$1['+newnumber+']');
希望这有帮助
答案 3 :(得分:0)
你可以使用“eval”和字符串操作,但是如果你必须这样做,那你就错了。
将数字“30”存储到变量允许根据需要进行操作,然后只需访问“SomethingElse”和“SomethingMore”,如下所示:
var n = 30;
// conditional logic;
Field[50].SomethingElse[n]
Field[50].SomethingMore[n]
此致 约书亚