0

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

名称="lorem[ipsum_dolor_set-amet-34][1][consectetuer]"

我下面的正则表达式代码几乎可以工作。

我的代码: [\[^.*\]](\d+)

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

任何答案都非常感谢。

提前致谢。:)

4

2 回答 2

0

但结果是,它匹配了左大括号和索引 < [1 > 而不是仅索引 < 1 >。

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

var myString = "name='lorem[ipsum_dolor_set-amet-34][1][consectetuer]'";  
var arr = myString.match(/[\[^.*\]](\d+)/);  
console.log(arr[0] + " " + arr[1]);
于 2013-08-15T16:20:40.727 回答
0

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

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

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

JSFiddle 演示

于 2013-08-15T16:24:46.807 回答