<athe literal text <a (case insensitive) \s+any whitespace character, repeated at least once
href="httpthe literal text href="http (case insensitive) s?optionally matches the literal s (11510 / 1638 / 7316) (case insensitive)
:the literal : (5810 / 728 / 3A16)
\/the literal / (4710 / 578 / 2F16)
\/?optionally matches the literal / (4710 / 578 / 2F16)
Non-Capturing Group(?:www\.)? ?repeats the group contents below at most once:
wwwthe literal text www (case insensitive) \.the literal . (4610 / 568 / 2E16)
Group 1((?:(?!-)[A-Za-z0-9-]{1,63}(?<!-)\.)+[A-Za-z]{2,8}) Non-Capturing Group(?:(?!-)[A-Za-z0-9-]{1,63}(?<!-)\.)+ +repeats the group contents below at least once:
-the literal - (4510 / 558 / 2D16)
Character Class[A-Za-z0-9-]{1,63} {1,63}matches between 1 and 63 characters from the set below:
A-Zone character from A (6510) to Z (9010) (case insensitive)
a-zone character from a (9710) to z (12210) (case insensitive)
0-9one character from 0 (4810) to 9 (5710)
-the literal - (4510 / 558 / 2D16)
Negative Lookbehind(?<!-) -the literal - (4510 / 558 / 2D16)
\.the literal . (4610 / 568 / 2E16)
Character Class[A-Za-z]{2,8} {2,8}matches between 2 and 8 characters from the set below:
A-Zone character from A (6510) to Z (9010) (case insensitive)
a-zone character from a (9710) to z (12210) (case insensitive)
Non-Capturing Group(?:"|\/) "the literal " (3410 / 428 / 2216)
\/the literal / (4710 / 578 / 2F16)
.*?any character (except for line terminators), repeated any number of times
>the literal > (6210 / 768 / 3E16)
Non-Capturing Group(?:https?:\/\/)? ?repeats the group contents below at most once:
httpthe literal text http (case insensitive) s?optionally matches the literal s (11510 / 1638 / 7316) (case insensitive)
:the literal : (5810 / 728 / 3A16)
\/the literal / (4710 / 578 / 2F16)
\/the literal / (4710 / 578 / 2F16)
Non-Capturing Group(?:www\.)? ?repeats the group contents below at most once:
wwwthe literal text www (case insensitive) \.the literal . (4610 / 568 / 2E16)
\1the text saved by group 1
i modifier: insensitive. Matches without distinguishing uppercase and lowercase letters
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