PHP ichidagi regulyar ifodada nomlangan qarmoqlar

Regulyar ifodaning o'zida qarmoqlardan qanday foydalanganimizni eslaymiz:

php<?php
  $res = preg_replace('#([a-z])\1#', '!', $str);
?>

Ba'zan hollarda, qarmoqqa uning raqami bo'yicha emas, balki nomi bo'yicha murojaat qilish qulayroq bo'ladi. Buning uchun biz qarmoqqa nom berishimiz kerak:

php<?php
  $res = preg_replace('#(?<letter>[a-z])#', '!', $str);
?>

Endi biz ushbu qarmoqqa \k<name> sintaksisi orqali murojaat qilishimiz mumkin, mana shu tarzda:

php<?php
  $res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str);
?>

Tasvirlangan nomlangan qarmoqlarning yana bir nechta muqobil sintaksislari mavjud: (?P=name), \k'name', \k{name}.

Задание 1

Berilgan satr:

php<?php
  $str = '12:59:59 12:59:12 09:45:09';
?>

Soat soniyalarga to'g'ri keladigan barcha vaqt pastki satrlarini toping.