Извлечение IP-адресов из текста

PHP Средний regex

Задача «Извлечение IP-адресов из текста»

Напишите программу на PHP, которая читает строки из стандартного ввода и извлекает из них все корректные IPv4-адреса. IP-адрес состоит из четырёх чисел от 0 до 255, разделённых точками. Ведущие нули не допускаются, если только число не равно 0. Адреса могут быть окружены пробелами или знаками препинания. Выведите каждый найденный адрес на отдельной строке в порядке их появления в тексте. Если адреса не найдены, вывести пустую строку.

Формат ввода

Несколько строк текста, каждая длиной до 1000 символов. Общее количество строк не превышает 100.

Формат вывода

Каждый найденный IPv4-адрес на отдельной строке в порядке появления. Если адресов нет, вывести пустую строку.

Примеры

Пример 1

ВВОД
Connect to 172.16.0.1 and 192.168.0.255
ВЫВОД
172.16.0.1 192.168.0.255

Пример 2

ВВОД
Invalid addresses: 256.1.2.3, 1.2.3.4.5, 0.0.0.0
ВЫВОД
0.0.0.0

Пример 3

ВВОД
Invalid: 999.1.2.3 but valid: 1.2.3.4
ВЫВОД
1.2.3.4

Пример 4

ВВОД
No addresses here!
ВЫВОД
main.php