javascript lookahead

JavaScript
Lookaheads are patterns that tell JavaScript to look-ahead in your string
to check for patterns further along. This can be useful when you want to 
search for multiple patterns over the same string.

A positive lookahead will look to make sure the element in the search
pattern is there, but won't actually match it. A positive lookahead is used
as (?=...) where the ... is the required part that is not matched.

On the other hand, a negative lookahead will look to make sure the element
in the search pattern is not there. A negative lookahead is used as (?!...)
where the ... is the pattern that you do not want to be there. The rest of 
the pattern is returned if the negative lookahead part is not present.

Source

Also in JavaScript: