r"
(?:\s|^) # Start of string or word boundary
( # Capture Group
(?: # Non-Capture Group for X.
(?: # 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])