^start of line
Negative Lookahead(?!paragraph_b) paragraph_bthe literal text paragraph_b (case sensitive) \w+a Unicode word character, repeated at least once
the literal (3210 / 408 / 2016)
\w+a Unicode word character, repeated at least once
\(the literal ( (4010 / 508 / 2816)
Non-Capturing Group(?:\n(?!^\w+ \w+\().*)* *repeats the group contents below any number of times:
\na line-feed (newline) character (ASCII 10)
Negative Lookahead(?!^\w+ \w+\() ^start of line
\w+a Unicode word character, repeated at least once
the literal (3210 / 408 / 2016)
\w+a Unicode word character, repeated at least once
\(the literal ( (4010 / 508 / 2816)
.*any Unicode character (except for line terminators), repeated any number of times
\)the literal ) (4110 / 518 / 2916)
Positive Lookahead(?=\s*^paragraph_b) \s*a Unicode whitespace character, repeated any number of times
^start of line
paragraph_bthe literal text paragraph_b (case sensitive) 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