替换方括号中的文本,但不替换在紧随其后的文本中

Kal*_*yan 2 javascript regex

我有一些类似于这个的HTML:

<input value="" name="test[0][test_inner_one]" type="text">
<input value="" name="test[0][test_inner_two]" type="text">
<input value="" name="test[0][test_inner_three]" type="text">
Run Code Online (Sandbox Code Playgroud)

我想要做的只是0用其他东西替换,但我无法想象正则表达式.
因此,例如,在替换之后,它应该如下所示:

<input value="" name="test[1][test_inner_one]" type="text">
<input value="" name="test[1][test_inner_two]" type="text">
<input value="" name="test[1][test_inner_three]" type="text">
Run Code Online (Sandbox Code Playgroud)

整个事情的想法是我克隆HTML,并且0它之前的文本不会是静态的,所以例如它不会总是test[0]但它将采用以下格式some_text[index][some_other_text],我只需要替换"索引" ".
任何帮助将不胜感激.

p.s*_*w.g 7

看起来你可以简单地使用这个:

var newName = name.replace(/\[0]/, '[1]');
Run Code Online (Sandbox Code Playgroud)

或者更简单地说,摆脱正则表达式:

var newName = name.replace('[0]', '[1]');
Run Code Online (Sandbox Code Playgroud)

更新

要替换仅包含数字的任何大括号,请使用以下内容:

var newName = name.replace(/\[\d+]/, '[1]');
Run Code Online (Sandbox Code Playgroud)

要仅替换第一对括号的内容,无论其包含什么,您都可以使用它

var newName = name.replace(/\[.*?]/, '[1]');
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为replace方法只会替换找到的第一个匹配项(除非g在正则表达式中启用了该标志).