^start of line
abcthe literal text abc (case sensitive) \h*any horizontal whitespace character, repeated any number of times
-the literal - (4510 / 558 / 2D16)
\h*any horizontal whitespace character, repeated any number of times
Group 1((?:[^\s-]+(?:\h+[^\s-]+)*)?) Non-Capturing Group(?:[^\s-]+(?:\h+[^\s-]+)*)? ?repeats the group contents below at most once:
Negated Character Class[^\s-]+ +matches at least one character outside the set below:
\sany whitespace character
-the literal - (4510 / 558 / 2D16)
Non-Capturing Group(?:\h+[^\s-]+)* *repeats the group contents below any number of times:
\h+any horizontal whitespace character, repeated at least once
Negated Character Class[^\s-]+ +matches at least one character outside the set below:
\sany whitespace character
-the literal - (4510 / 558 / 2D16)
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