软萌淑
2019-09-17 19:53
'a2*3'.replace(/\w(?=\d)/g,'x')
"x2*3"
为什么a替换掉了而a后面的2却没有替换掉
这是使用了肯定前瞻进行了匹配吧,首先正则表达式是\w(?=\d),匹配的是一个单词字符,而assert部分筛选的是单词字符向字符串尾部方向的数字字符,这样就很明显了,本身又是单词字符,后面连接的还是数字字符的只有"a",所以只会把"a"replace成”x“。
assert部分只相当于一个条件,帮助正则规则进行更深层次的筛选,最终目的还是为了找到“\w”字符,不会参与到替换操作中去
JavaScript正则表达式
96813 学习 · 119 问题
相似问题