我有:

var myclass = 'moreElements showAddElements-570';
var re = new RegExp('showAddElements\-\d*');
var m = re.exec(myclass);

alert(m[0]);
alert(m[1]);


第一个警报的结果为“ showAddElements-”,第二个警报的结果为“ undefined”。我想得到“ 570”,我在这里做错了什么?如果我test它,我至少到达了'showAddElements-570'...我在这里做错了什么?

谢谢你的小费!

附注:我只想在'showAddElements-'之后加上数字,其他所有数字都应省略。

最佳答案

只需使用正确的正则表达式即可:

var re = /showAddElements-(\d+)/;


我在破折号前删除了反斜杠(不需要),并在数字周围添加了括号,以将其变成捕获组-否则m[1]始终为undefined

See it in action

07-24 15:25