^start of line
.*any character (except for line terminators), repeated any number of times
\ban ASCII word boundary
EXCLUDEthe literal text EXCLUDE (case sensitive) \ban ASCII word boundary
.*any character (except for line terminators), repeated any number of times
\Kresets the starting point of the reported match. Any previously consumed characters are no longer included in the final match
Non-Capturing Group(?:\R(?!.*\bEXCLUDE\b).*)+ +repeats the group contents below at least once:
\Ra newline sequence
Negative Lookahead(?!.*\bEXCLUDE\b) .*any character (except for line terminators), repeated any number of times
\ban ASCII word boundary
EXCLUDEthe literal text EXCLUDE (case sensitive) \ban ASCII word boundary
.*any character (except for line terminators), repeated any number of times
g modifier: global. Finds all matches instead of stopping after the first
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string