DATE: the literal text DATE: (case sensitive) Group date(?P<date>[\s\S]+) +matches at least one character from the set below:
\sany whitespace character
\Sany non-whitespace character
\na line-feed (newline) character (ASCII 10)
STAGE: the literal text STAGE: (case sensitive) Group stage(?P<stage>[\s\S]+) +matches at least one character from the set below:
\sany whitespace character
\Sany non-whitespace character
\na line-feed (newline) character (ASCII 10)
SCORE: the literal text SCORE: (case sensitive) Group score(?P<score>[\s\S]+) +matches at least one character from the set below:
\sany whitespace character
\Sany non-whitespace character
\na line-feed (newline) character (ASCII 10)
NAME: the literal text NAME: (case sensitive) Group name(?P<name>[\s\S]+) +matches at least one character from the set below:
\sany whitespace character
\Sany non-whitespace character
\na line-feed (newline) character (ASCII 10)
HOBBY: the literal text HOBBY: (case sensitive) Group hobby(?P<hobby>[\s\S]+?) +?matches at least one character from the set below:
\sany whitespace character
\Sany non-whitespace character
\na line-feed (newline) character (ASCII 10)
Non-Capturing Group(?:AGE: )? ?repeats the group contents below at most once:
AGE: the literal text AGE: (case sensitive) Group age(?P<age>[\s\S]*?) *?matches any number of characters from the set below:
\sany whitespace character
\Sany non-whitespace character
?repeats the group contents below at most once:
\na line-feed (newline) character (ASCII 10)
NOTES:the literal text NOTES: (case sensitive) Group notes(?P<notes>[\s\S]+) +matches at least one character from the set below:
\sany whitespace character
\Sany non-whitespace character
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string
g modifier: global. Finds all matches instead of stopping after the first