استخراج عناوين IP من النص

PHP Medium 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