^start of line
httpthe literal text http (case sensitive) s?optionally matches the literal s (11510 / 1638 / 7316) (case sensitive)
:the literal : (5810 / 728 / 3A16)
\/the literal / (4710 / 578 / 2F16)
\/the literal / (4710 / 578 / 2F16)
regex101the literal text regex101 (case sensitive) \.the literal . (4610 / 568 / 2E16)
comthe literal text com (case sensitive) \/?optionally matches the literal / (4710 / 578 / 2F16)
Non-Capturing Group(?:r\/(?P<link>(?:[a-zA-Z]{2}\d){2})(?:\/(?P<version>\d+)?)?)? ?repeats the group contents below at most once:
rthe literal r (11410 / 1628 / 7216) (case sensitive)
\/the literal / (4710 / 578 / 2F16)
Group link(?P<link>(?:[a-zA-Z]{2}\d){2}) Non-Capturing Group(?:[a-zA-Z]{2}\d){2} {2}repeats the group contents below exactly 2 times:
Character Class[a-zA-Z]{2} {2}matches exactly 2 characters 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)
\da digit
Non-Capturing Group(?:\/(?P<version>\d+)?)? ?repeats the group contents below at most once:
\/the literal / (4710 / 578 / 2F16)
Group version(?P<version>\d+)? ?repeats the group contents below at most once:
\d+a digit, repeated at least once
$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