Jquery 使用正则表达式匹配嵌套数组大括号内属性名称中的索引号

Jquery 使用正则表达式匹配嵌套数组大括号内属性名称中的索引号,jquery,regex,arrays,indexing,increment,Jquery,Regex,Arrays,Indexing,Increment,我需要正则表达式方面的帮助,我只需要大括号[1]中的索引号匹配,即文本[字母数字][索引][文本]请参见下面的属性名称 name="lorem[ipsum_dolor_set-amet-34][1][consectetuer]" name=“lorem[ipsum\u dolor\u set-amet-34][1][Concertetuer]” 我有下面的正则表达式代码,几乎可以工作 My Code: [\[^.*\]](\d+) 我的代码:[\[^.*\]](\d+) 但结果是,它匹配了大括号

我需要正则表达式方面的帮助,我只需要大括号[1]中的索引号匹配,即文本[字母数字][索引][文本]请参见下面的属性名称

name="lorem[ipsum_dolor_set-amet-34][1][consectetuer]" name=“lorem[ipsum\u dolor\u set-amet-34][1][Concertetuer]” 我有下面的正则表达式代码,几乎可以工作

My Code: [\[^.*\]](\d+) 我的代码:[\[^.*\]](\d+) 但结果是,它匹配了大括号和索引,而不是仅匹配索引

非常感谢您的回答

提前感谢。:)

但结果是,它只匹配了开放大括号和索引<[1>,而不是索引<1>

我认为您的正则表达式代码是可以的,但是您使用的是匹配数组的第一个索引

var myString = "name='lorem[ipsum_dolor_set-amet-34][1][consectetuer]'";  
var arr = myString.match(/[\[^.*\]](\d+)/);  
console.log(arr[0] + " " + arr[1]);

您可以从方括号中捕获数字:

var name = "lorem[ipsum_dolor_set-amet-34][1][consectetuer]";
var regex = /\[([0-9]+)\]/;

if (m = name.match(regex)[1]) {
    console.log(m);
}

.

我不知道您在那里尝试了什么,但是您正在匹配这些字符中的一个,后面跟一个或多个数字。您在哪种语言或环境中使用它?为什么不只是
\[(\d+)\]
?(在这种情况下,您仍然需要检索捕获的内容)或
(?感谢respond m.buettner,我使用jQuery,基本上我尝试增加大括号内的索引,但如果我将使用[(\d+)]只有第一个小数点会递增,这是34个数字,请参见上面属性名称中的代码,我只希望索引会递增,这就是为什么我使用[^.*]忽略第一个大括号中的内容。:)这很好,但我仍然希望保留大括号,使其看起来像这样[1]因此,只有索引会在case中更改。@Ruel在if中,您可以使用它来获取
[1]
m=name.match(regex)[0]
im使用string.replace(/[^.*]](\d+),new);如果我使用它来匹配字符串,这将很好,但我想替换索引,因此在这种情况下,它将同时替换“[”和“1”。并且其属性类似于以下名称=“lorem[ipsum\u dolor\u set-amet-34]2][concertetuer]”