问答详情
源自:2-7 JS正则贪婪模式与非贪婪模式

'12345678'.replace(/\d??/g,'X')的结果为什么是"X1X2X3X4X5X6X7X8X"

'12345678'.replace(/\d??/g,'X')的结果为什么是"X1X2X3X4X5X6X7X8X"

提问者:qq_泥巴的城_0 2019-07-01 20:36

个回答

  • 慕勒3194548
    2019-07-09 18:10:38
    已采纳

    "1a2a345678a".replace(/\d?/g,'X')结果XaXXaXXXXXXXaX

    从以上结果可以得知\d?匹配数字或者不是数字之后的""。

    \d??优先匹配“”。

    "12345678".replace(/\d??/g,'X')匹配字符串中所有的""

    "1a2a345678a".replace(/\d??/g,'X')结果为X1XaX2XaX3X4X5X6X7X8XaX



  • 慕勒3194548
    2019-07-09 18:15:22

    /d??当匹配到1时,先匹配符合规则1"",把1后面的""替换为X