Negative Lookbehind(?<![^(\s]) Negated Character Class[^(\s] (the literal ( (4010 / 508 / 2816)
\sa Unicode whitespace character
\d+a Unicode decimal digit, repeated at least once
\s?optionally matches a Unicode whitespace character
Positive Lookahead(?=((?:\s*(?:wh|www)[1-9]?){1,3})) Group 1((?:\s*(?:wh|www)[1-9]?){1,3}) Non-Capturing Group(?:\s*(?:wh|www)[1-9]?){1,3} {1,3}repeats the group contents below between 1 and 3 times:
\s*a Unicode whitespace character, repeated any number of times
Non-Capturing Group(?:wh|www) whthe literal text wh (case sensitive) wwwthe literal text www (case sensitive) ?matches at most one character from the set below:
1-9one character from 1 (4910) to 9 (5710)
\1the text saved by group 1
\ba Unicode word boundary
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