^start of line
1-9one character from 1 (4910) to 9 (5710)
\d*a digit, repeated any number of times
\.the literal . (4610 / 568 / 2E16)
\d+a digit, repeated at least once
\.the literal . (4610 / 568 / 2E16)
\d+a digit, repeated at least once
Non-Capturing Group(?:-[a-zA-Z0-9]+)? ?repeats the group contents below at most once:
-the literal - (4510 / 558 / 2D16)
Character Class[a-zA-Z0-9]+ +matches at least one character from the set below:
a-zone character from a (9710) to z (12210) (case sensitive)
A-Zone character from A (6510) to Z (9010) (case sensitive)
0-9one character from 0 (4810) to 9 (5710)
$end of line
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