Написать функцию ipv6match(строка), которая проверяет, является ли некоторая строка синтаксически допустимым адресом IPv6 без использования номера порта и/или привязки к сетевому интерфейсу и без учёта рекомендаций по устранению неоднозначности. Дополнительные требования:

Функция должна возвращать результат работы re.match().

   1 tst = """2001:db8:0:0:1:0:0:1
   2 2001:db8:bad:0:0:1:0:0:1
   3 2001:0db8:0:0:1:0:0:1
   4 2001:db8::1:0:0:1
   5 2001:db8::0:1:0::0
   6 2001:00db8::1:0:0:1
   7 2001:DB8:0:0:1::1
   8 2001:db8:0000:0:1::1
   9 2001:Db8:0:0:0xff:1::
  10 ::1
  11 ::
  12 2::
  13 2:2::"""
  14 for s in tst.split("\n"):
  15     if res := ipv6match(s):
  16         print(res.group())
  17     else:
  18         print("NO")

2001:db8:0:0:1:0:0:1
NO
2001:0db8:0:0:1:0:0:1
2001:db8::1:0:0:1
NO
NO
2001:DB8:0:0:1::1
2001:db8:0000:0:1::1
NO
::1
::
2::
2:2::


CategoryHomework

LecturesCMC/PythonIntro2025/Homework_IPv6Match (последним исправлял пользователь ArsenyMaslennikov 2025-10-25 23:40:54)