Problem with javascript-regex matching, negative look-ahead inside a lookbehind

Javascript Regex.

Given these..

string: ddd the ! key

regex: / !(?<=(?!the)w+ !)/

I want to know the reason why the regex does NOT fail.

I expect the regex to fail matching, it doesn’t, I don’t know why.
i found an alternative that works, which is..

/ !(?<=w+(?<!the) !)/

but i still prefer to make the one above work, because it’s faster(maybe).