Я попытался извлечь только IP-адреса из данного примера ввода, но он извлекает из него какой-то текст. Вот мой код:Regex для извлечения только адресов IPv4 из текста
$spfreccord="v=spf1 include:amazonses.com include:nl2go.com include:smtproutes.com include:smtpout.com ip4:46.163.100.196 ip4:46.163.100.194 ip4:85.13.135.76 ~all";
$regexIpAddress = '/ip[4|6]:([\.\/0-9a-z\:]*)/';
preg_match($regexIpAddress, $spfreccord, $ip_match);
var_dump($ip_match);
Я ищу, чтобы соответствовать только IPv4 IP-адрес xxx.xxx.xxx.xxx
в каждом столбце таблицы, но, похоже, что $regexIpAddress
не является правильным.
Не могли бы вы помочь мне найти правильное регулярное выражение для извлечения только IP-адресов IPv4? Благодарю.
Пробовал '/ \ d {1,3} \. \ D {1,3} \. \ D {1,3} \. \ D {1,3} /'? – Thamilan
yeh это работает просто отлично, но одна небольшая проблема заключается в том, что я не могу извлечь класс cidr v = spf1 ip4: 205.201.128.0/20 ip4: 198.2.128.0/18? All можно извлечь cidr 205.201.128.0/ 20 –
Затем измените его на: '/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:\/\d {2})?/' – Thamilan