我有一个看起来像这样的字符串:
"something[something][0][]"
我需要做的是用另一个号码替换[0]
。这就是我的尝试:
var name = nameVar.replace(/[^\[\]]+(?=\]\[[^\]]+\]$)/, "999");
有关正则表达式的任何帮助吗?
答案 0 :(得分:3)
您可以将捕获组用于第一个[...]
:
var re = /(\[[^\]]*\])\[[^\]]*\]/;
var str = 'something[something][0][]';
var result = str.replace(re, '$1[999]');
答案 1 :(得分:0)
请尝试:
function myFunction() {
var nameVar = "something[something][0][]";
var name = nameVar.replace(/([^[]+\[[^\]]+\])(\[[^\]]+\])/, '$1[999]');
alert(name);
}
myFunction()