## ?= Positive Lookahead

Asserts that the contents of this group exists after the preceding portion of the regex, without being a part of the matched text. For example, given the text “dynamically negotiate multifunctional external sources”:

• negotiate: matches the word “negotiate”
• n(?=egotiate): matches “n”
• n(?=egotia)te: matches nothing
• n(?=egotiate)egotiate: matches the word “negotiate”

## ?! Negative Lookahead

Asserts that the contents of this group does not exist after the preceding portion of the regex. For example, given the text “assertively deliver error-free niche delivery markets”:

• deliver: matches the word “deliver” and all but the last character of “delivery”
• deliver(?!y): only matches the word “deliver”

## ?<= Positive Lookbehind

Asserts that the contents of this group exists before the subsequent portion of the regex, without being a part of the matched text. Semantics match positive lookahead.

## ?<! Negative Lookbehind

Asserts that the contents of this group does not exist before the subsequent portion of the regex. Semantics match negative lookbehind.

Edit