\ba Unicode word boundary
Group term(?'term'[0-9]+) +matches at least one character from the set below:
0-9one character from 0 (4810) to 9 (5710)
\s*a Unicode whitespace character, repeated any number of times
\(the literal ( (4010 / 508 / 2816)
ethe literal e (10110 / 1458 / 6516) (case sensitive)
\)the literal ) (4110 / 518 / 2916)
\s*a Unicode whitespace character, repeated any number of times
\$the literal $ (3610 / 448 / 2416)
\s*a Unicode whitespace character, repeated any number of times
Group payment_amt(?'payment_amt'[0-9]+(?:\.[0-9]+)?) +matches at least one character from the set below:
0-9one character from 0 (4810) to 9 (5710)
Non-Capturing Group(?:\.[0-9]+)? ?repeats the group contents below at most once:
\.the literal . (4610 / 568 / 2E16)
+matches at least one character from the set below:
0-9one character from 0 (4810) to 9 (5710)
\s*a Unicode whitespace character, repeated any number of times
\(the literal ( (4010 / 508 / 2816)
ethe literal e (10110 / 1458 / 6516) (case sensitive)
\)the literal ) (4110 / 518 / 2916)
*?matches any number of characters from the set below:
\Sany character that is not Unicode whitespace
\sa Unicode whitespace character
\ba Unicode word boundary
Group start_date(?'start_date'\d{4}-\d{1,2}-\d{1,2}) \d{4}a Unicode decimal digit, repeated exactly 4 times
-the literal - (4510 / 558 / 2D16)
\d{1,2}a Unicode decimal digit, repeated between 1 and 2 times
-the literal - (4510 / 558 / 2D16)
\d{1,2}a Unicode decimal digit, repeated between 1 and 2 times
\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