关于正负向前瞻,感觉教程和定义不一样
正向前瞻exp(?=assert)是在正则表达式匹配到规则的时候向前检查是否符合断言。是的话执行正向前瞻
负向前瞻exp(?!assert)是在正则表达式匹配到规则的时候向前检查是否不符合断言。是的话执行负向前瞻
都是从后往前匹配
\w匹配的是 [a-zA-Z_0-9]
'a2*34v8'.replace(/\w(?=\d)/g,‘X’)
为什么结果是‘X2*X4X8’?不是应该从后往前匹配么?a符合\w,但是前面没有数字不符合(?=\d)。
还有'a2*34v8'.replace(/\w(?!\d)/g,‘X’) ,结果是‘aX*3XXX’
这两个都和正向前瞻和负向前瞻定义相反,为什么??