正则表达式行首行尾^$,在线等!

 var str="g"
var re=/^[0-9]*$/
var rd=/[0-9]*/
str.match(re)
//null
str.match(rd)
//[""]

为什么这两个正则匹配出来的结果不同,麻烦大神详细解释下

的意思是该字符可以出现0次或者多次,也就是对于^[0-9]$来说,0-9可以一次都不出现,从而整个字符串是空字符串

貌似是因为^代表字符串开头,$代表字符串结尾,所以re的意思就是字符串必须是若干个数字,不能包含其他字符,而rd没有^$符号,因此只要字符串中包含数字就认为是匹配的吧