Вы постоянно сталкиваетесь с проверкой 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-адреса как профессионал!