正则表达式(匹配函数),javascript

时间:2016-07-14 18:36:19

标签: javascript regex match

我认为这是一个非常基本的问题,但我真的无法理解这个概念。我有以下正则表达式:

var t = '11:59 am';
t.match(/^(\d+)/);

现在,根据我的理解,当我打印值时,我应该得到11,因为我只是检查数字。但是,我得到11,11。我必须使用第0个元素来选择所需的值,如t.match(/^(\d+)/)[0]

2 个答案:

答案 0 :(得分:1)

这是因为您在数字周围使用了capture group, (),。尝试将其替换为:

t.match(/^\d+/);

注意:这仍然会返回一个数组,因为这只是.match()所做的。

答案 1 :(得分:1)

如果有任何匹配,请

match() always returns an array。元素[0]是整个匹配,元素[1]是第一组括号内的元素。