Я пытаюсь сопоставить регулярное выражение ipv6 из строки вроде:
3111105 fe88 :: 777: 2333: e89: 12f3, ff42 :: 9, tcp / 0/0
из которых я хочу извлечь два IPv6-адреса.
У меня есть регулярное выражение, как показано ниже:
(([а-f0-9] {0,4}:) + [а-f0-9] {1,4}), (([а-f0-9] {0,4} :) + [а-f0-9] {1,4}), ([A-Za-Z0-9] +) (. *)
Но я получаю часть первого ip в группе (1) и часть второго ip в группе 4.
Вот что я получаю:
группа (0) - (fe88 :: 777: 2333: e89: 12f3)
группа (1) - (e89:)
группа (2) - (ff42 :: 9)
группа (3) - (:)
группа (4) - (tcp)
группа (5) - (/ 0/0)
Однако ожидается:
группа (0) - (fe88 :: 777: 2333: e89: 12f3)
группа (1) - (ff42 :: 9)
группа (2) - (tcp)
группа (3) - (/ 0/0)
Есть предложения?