Extraction d'adresses IP à partir d'un texte

PHP Medium regex

Tâche «Extraction d'adresses IP à partir d'un texte»

Écrivez un programme en PHP qui lit les lignes de l'entrée standard et en extrait toutes les adresses IPv4 valides. Une adresse IP est composée de quatre nombres de 0 à 255, séparés par des points. Les zéros non significatifs ne sont pas autorisés, sauf si le nombre est égal à 0. Les adresses peuvent être entourées d'espaces ou de signes de ponctuation. Affichez chaque adresse trouvée sur une ligne séparée, dans l'ordre de leur apparition dans le texte. Si aucune adresse n'est trouvée, affichez une ligne vide.

Format d\ entrée

Plusieurs lignes de texte, chacune d'une longueur maximale de 1000 caractères. Le nombre total de lignes ne dépasse pas 100.

Format de sortie

Chaque adresse IPv4 trouvée sur une ligne séparée, dans l'ordre d'apparition. S'il n'y a pas d'adresse, affichez une ligne vide.

Exemples

Exemple 1

ENTRÉE
Connect to 172.16.0.1 and 192.168.0.255
SORTIE
172.16.0.1 192.168.0.255

Exemple 2

ENTRÉE
Invalid addresses: 256.1.2.3, 1.2.3.4.5, 0.0.0.0
SORTIE
0.0.0.0

Exemple 3

ENTRÉE
Invalid: 999.1.2.3 but valid: 1.2.3.4
SORTIE
1.2.3.4

Exemple 4

ENTRÉE
No addresses here!
SORTIE
main.php