问答详情
源自:2-9 前瞻

求解答。。

'a2*3'.replace(/\w(?=\d)/g,'x')

"x2*3"

为什么a替换掉了而a后面的2却没有替换掉

提问者:软萌淑 2019-09-17 19:53

个回答

  • Ray_Loy
    2019-09-19 21:07:06
    已采纳

    这是使用了肯定前瞻进行了匹配吧,首先正则表达式是\w(?=\d),匹配的是一个单词字符,而assert部分筛选的是单词字符向字符串尾部方向的数字字符,这样就很明显了,本身又是单词字符,后面连接的还是数字字符的只有"a",所以只会把"a"replace成”x“。

  • Ray_Loy
    2019-09-19 21:39:12

    assert部分只相当于一个条件,帮助正则规则进行更深层次的筛选,最终目的还是为了找到“\w”字符,不会参与到替换操作中去