{3}repeats the group contents below exactly 3 times:
Comment: Non-Capture Group for X.
Non-Capturing Group(?: # Nested NCG for 0..255
(?:\d){1,2}| # Allow any single digit or any pair of digits or
(?:1\d{2})| # 3 Digits starting with 1 or
(?:2[0-4]\d)| # 3 Digists starting with 20..24 or
(?:25[0-5]) # 250..255
) 1st Alternative # Nested NCG for 0..255
(?:\d){1,2} Comment: Nested NCG for 0..255
Non-Capturing Group(?:\d){1,2} {1,2}repeats the group contents below between 1 and 2 times:
\da Unicode decimal digit
2nd Alternative # Allow any single digit or any pair of digits or
(?:1\d{2}) Comment: Allow any single digit or any pair of digits or
Non-Capturing Group(?:1\d{2}) 1the literal 1 (4910 / 618 / 3116)
\d{2}a Unicode decimal digit, repeated exactly 2 times
3rd Alternative # 3 Digits starting with 1 or
(?:2[0-4]\d) Comment: 3 Digits starting with 1 or
Non-Capturing Group(?:2[0-4]\d) 2the literal 2 (5010 / 628 / 3216)
0-4one character from 0 (4810) to 4 (5210)
\da Unicode decimal digit
4th Alternative # 3 Digists starting with 20..24 or
(?:25[0-5]) # 250..255
Comment: 3 Digists starting with 20..24 or
Non-Capturing Group(?:25[0-5]) 0-5one character from 0 (4810) to 5 (5310)
Comment: 250..255
Comment: this should allow X=0..255 in the NCG
\.the literal . (4610 / 568 / 2E16)
Comment: Must be followed by a literal .