我需要正则表达式的帮助,我只想要大括号 [1] 内的索引号匹配,即文本 [字母数字] [索引] [文本],请参见下面的属性名称。
名称="lorem[ipsum_dolor_set-amet-34][1][consectetuer]"
我下面的正则表达式代码几乎可以工作。
我的代码: [\[^.*\]](\d+)
但结果是,它匹配了左大括号和索引< [1 >而不是仅索引< 1 >。
任何答案都非常感谢。
提前致谢。:)
但结果是,它匹配了左大括号和索引 < [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);
}