Group heading_num(?<heading_num>#+) #+the literal # (3510 / 438 / 2316) , repeated at least once
the literal (3210 / 408 / 2016)
Group title(?<title>[^:]+) Negated Character Class[^:]+ +matches at least one character outside the set below:
:the literal : (5810 / 728 / 3A16)
:the literal : (5810 / 728 / 3A16)
\s+any whitespace character, repeated at least once
Group text(?<text>[^#]*?) Negated Character Class[^#]*? *?matches any number of characters outside the set below:
#the literal # (3510 / 438 / 2316)
\s*any whitespace character, repeated any number of times
Positive Lookahead(?=#|$) #the literal # (3510 / 438 / 2316)
g modifier: global. Finds all matches instead of stopping after the first