tgoop.com/devopslib/15
Last Update:
📌Регулярное выражение для поиска и проверки правильных IPv4-адресов\b(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\b
Разбор регулярного выражения:
• \b – граница слова, чтобы избежать нахождения частей IP-адресов в тексте.
• (25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?) – шаблон для чисел от 0 до 255.
• 25[0-5] — числа от 250 до 255.
• 2[0-4][0-9] — числа от 200 до 249.
• 1?[0-9][0-9]? — числа от 0 до 199 (учитывает 0-9, 10-99, 100-199).
• \. – точка, экранированная \, так как . в регулярных выражениях обозначает любой символ.
• Четыре таких блока, разделенных точками, формируют полный IPv4-адрес.
Пример использования в Python:import re
pattern = r"\b(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\b"
test_ips = ["192.168.1.1", "255.255.255.255", "256.100.50.25", "192.168.300.1", "abc.def.ghi.jkl"]
for ip in test_ips:
if re.fullmatch(pattern, ip):
print(f"{ip} - валидный IPv4")
else:
print(f"{ip} - НЕ валидный IPv4")
Этот код проверяет, какие IP-адреса корректны, а какие нет.
Подпишись 👉@devopslib
BY Библиотека девопса | DevOps, SRE, Sysadmin
Share with your friend now:
tgoop.com/devopslib/15
