Освоение проверки IP-адреса в Regex: руководство по надежным методам

Вы постоянно сталкиваетесь с проверкой IP-адреса в своих проектах кодирования? Вы устали вручную проверять правильность формата IP-адреса? Ну, не волнуйтесь больше! В этой статье мы рассмотрим различные методы сопоставления IP-адресов с использованием регулярных выражений (regex). Мы углубимся в некоторые практические примеры кода и поделимся некоторыми полезными советами и рекомендациями. Итак, наденьте шляпу с регулярными выражениями, возьмите любимый напиток для кодирования и приступим!

Метод 1: базовый шаблон регулярного выражения IP-адреса
Самый простой способ сопоставить IP-адрес с помощью регулярного выражения — использовать базовый шаблон. Вот пример:

import re
ip_address = "192.168.0.1"
pattern = r"\b(?:\d{1,3}\.){3}\d{1,3}\b"
if re.match(pattern, ip_address):
    print("Valid IP address!")
else:
    print("Invalid IP address!")

Этот шаблон разбивается следующим образом:

  • \bустанавливает границу слова.
  • (?:\d{1,3}\.){3}соответствует одной-трем цифрам, за которыми следует точка, повторяющаяся три раза.
  • \d{1,3}соответствует одной-трем цифрам.
  • \bустанавливает другую границу слова.

Метод 2: расширенная проверка IP-адреса
Если вам нужна более строгая проверка IP-адреса, вы можете использовать следующий шаблон регулярного выражения:

import re
ip_address = "192.168.0.1"
pattern = (
    r"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}"
    r"(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
)
if re.match(pattern, ip_address):
    print("Valid IP address!")
else:
    print("Invalid IP address!")

Этот шаблон более надежен и гарантирует, что каждый октет IP-адреса находится в диапазоне от 0 до 255.

Метод 3: извлечение IP-адресов из текста
Иногда вам может потребоваться извлечь IP-адреса из более крупного текстового файла или файла журнала. Вот пример того, как этого можно добиться с помощью регулярных выражений в Python:

import re
text = "This is a sample text with IP addresses 192.168.0.1 and 10.0.0.1."
pattern = r"\b(?:\d{1,3}\.){3}\d{1,3}\b"
ip_addresses = re.findall(pattern, text)
print(ip_addresses)

Этот фрагмент кода извлечет все действительные IP-адреса из заданного текста и сохранит их в списке ip_addresses.

Метод 4: проверка IP-адреса на других языках программирования
Регулярное выражение для проверки IP-адреса не ограничивается Python. Вот примеры того, как можно проверить IP-адреса на других популярных языках программирования:

  • JavaScript:

    const ipAddress = "192.168.0.1";
    const pattern = /\b(?:\d{1,3}\.){3}\d{1,3}\b/;
    if (pattern.test(ipAddress)) {
    console.log("Valid IP address!");
    } else {
    console.log("Invalid IP address!");
    }
  • Java:

    import java.util.regex.*;
    String ipAddress = "192.168.0.1";
    String pattern = "\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b";
    if (Pattern.matches(pattern, ipAddress)) {
    System.out.println("Valid IP address!");
    } else {
    System.out.println("Invalid IP address!");
    }

Сопоставление IP-адресов с помощью регулярных выражений — важнейший навык для любого программиста. В этой статье мы рассмотрели несколько методов проверки IP-адресов с помощью регулярных выражений. Мы рассмотрели базовые шаблоны, расширенную проверку, извлечение IP-адресов из текста и даже предоставили примеры на разных языках программирования. Имея в своем арсенале эти методы, вы сможете уверенно выполнять проверку IP-адресов в своих проектах. Так что давайте, попробуйте, и пусть ваш код беспрепятственно обрабатывает IP-адреса как профессионал!