正则表达式中 ?! 和 ?= 的区别?

var str21 = '9'
var reg6 = /(?![0-9])/
var reg7 = /(?=[0-9])/
console.log(reg6.test(str21));
console.log(reg7.test(str21));
为啥两个正则表达式结果都是true?
突然就给整蒙了,提个问题请教一下

https://www.cnblogs.com/allen2333/p/9835654.html