A positive lookahead (?=123) asserts the text is followed by the given pattern, without including the pattern in the match. Similarly, a positive lookbehind (?<=123) asserts the text is preceded by the given pattern. Replacing the = with ! negates the assertion.
Input: 123456
123(?=456) matches 123 (positive lookahead)(?<=123)456 matches 456 (positive lookbehind)123(?!456) fails (negative lookahead)(?<!123)456 fails (negative lookbehind)Input: 456
123(?=456) fails(?<=123)456 fails123(?!456) fails(?<!123)456 matches 456