PHPдеги кайта тилке белгисинин көйгөйү

Кайта тилке белгиси PHPнин атайын символу болуп эсептелет. Бул дегенди билдирет, сапта биз кайта тилке белгиси өзүнө өзүн билдирсин десек, аны эки эсе көбөйтүшүбүз керек:

php<?php
  $str = '\\ \\\\ \\\\\\'; // чындыгында бул сап '\ \\ \\\'
?>

Кайта тилке белгиси ошондой эле регулярялык өрнектердин да атайын символу. Бул дегенди билдирет, регулярялык өрнектин ичинде, кайта тилке белгиси өзүнө өзүн билдирсин десек, аны төрт жолу жазыш керек:

php<?php
  echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // чыгарат '! ! !!'
?>

Келгиле азыр биз мындай регулярялык өрнек жазалы: анда издөө үлгүсү мындай болсун: кайта тилке белгиси бир же бир нече жолу. Андай учурда биз + операторун тобо кылбай 4 символунун алдына жазабыз:

php<?php
  echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // чыгарат '! ! !'
?>
Задание 1

Сап берилген:

php<?php
  $str = 'a\\b c\\d e\\f';
?>

Бул сапта тамга, кайта тилке белгиси, тамга үлгүсүндөгү бардык кошумча саптарды тапкыла.

Задание 2

Сап берилген:

php<?php
  $str = 'a\\b c\\\\d e\\\\\\f';
?>

Бул сапта тамга, кайта тилке белгиси каалаган санда, тамга үлгүсүндөгү бардык кошумча саптарды тапкыла.