我有:
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。