One more regular expression for IP-addresses

Olena Liebiedieva
1 min readMay 24, 2019

--

— A single IP like “127.0.0.1”;
— a mask “10.0.2.*” where any value in range 0..255 may be instead of wildcard symbol “*”;
— a range for last segment “10.0.0.1–10” which stands for a range of IP addresses “10.0.0.1–10.0.0.10”;
— fully specified range like “192.168.1.1–192.168.240.254”.

^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(((?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?){1})|(\*)|((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\-(?:25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])){1})|(((?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?){1})-(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?){1}))$

--

--