^start of line
Group indent(?<indent>\s*) \s*any whitespace character, repeated any number of times
\w+any word character, repeated at least once
\sany whitespace character
?repeats the group contents below at most once:
\w+any word character, repeated at least once
\s*any whitespace character, repeated any number of times
?repeats the group contents below at most once:
\w+any word character, repeated at least once
\s*any whitespace character, repeated any number of times
Group return(?<return>\b\w+) \ban ASCII word boundary
\w+any word character, repeated at least once
\sany whitespace character
\w+any word character, repeated at least once
\(the literal ( (4010 / 508 / 2816)
.*?any character, repeated any number of times
\)the literal ) (4110 / 518 / 2916)
\s*any whitespace character, repeated any number of times
\{the literal { (12310 / 1738 / 7B16)
.+?any character, repeated at least once
^start of line
\k<indent>the text saved by group indent
\}the literal } (12510 / 1758 / 7D16)
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
s modifier: single line. Allows a dot to match line terminators