^start of line
+matches at least one character from the set below:
-the literal - (4510 / 558 / 2D16)
\wany word character
:the literal : (5810 / 728 / 3A16)
\s*any whitespace character, repeated any number of times
Non-Capturing Group(?:(?!(?:ed|ing)\b)\w)+ +repeats the group contents below at least once:
Negative Lookahead(?!(?:ed|ing)\b) Non-Capturing Group(?:ed|ing) edthe literal text ed (case sensitive) ingthe literal text ing (case sensitive) \ban ASCII word boundary
\wany word character
\ban ASCII word boundary
.+any character (except for line terminators), repeated at least once
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