问答详情
源自:2-5 JS预定义类及边界

不理解啊!老师

'@123@abc@'.replace(/^@\d/g,'Q'),替换了@1,那'@123@abc@'.replace(/^@./g,'Q')不是应该替换了@123吗?

提问者:名分开就是姓名 2017-04-26 14:05

个回答

  • 超速飛
    2017-05-25 11:19:13
    已采纳

    “\d{3}”才是匹配3个数字

  • 1frgdhf
    2019-02-18 11:05:25

    (1)@123@abc@'.replace(/^@\d/g,'Q')

     这句的意思是要开头为@后面加数字(0-9)默认加1次,因为你没有量词,所以只能加载一次,所以答案就是@1=Q,即为@Q23@abc@

    (2)@123@abc@'.replace(/^@./g,'Q')

    这句的意思是要开头为@+任意数字(任意数字并没有量词表示循环几次所以默认循环一次,于是就把就近的合为一体)及@1=Q,即为@23@abc@

  • 青涩少年初长成
    2017-04-27 10:36:36

    . 是 匹配除 "\n" 之外的任何单个字符