pom31000
2016-11-16 10:02
采纳率: 100%
浏览 4.2k
已采纳

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

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

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

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • T_world 2016-11-17 01:40
    已采纳

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

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • T_world 2016-11-16 12:48

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题