PHP kurakaldkriipsu probleem

Kurakaldkriips on PHP erisümbol. See tähendab, et stringis, kui me soovime, et kaldkriips tähistaks iseennast, peame selle kahekordistama:

php<?php
  $str = '\\ \\\\ \\\\\\'; // tegelikult string '\ \\ \\\'
?>

Kurakaldkriips on samuti regulaaravaldiste erisümbol. See tähendab, et regulaaravaldise sees, et kaldkriips tähistaks iseennast, tuleb seda kirjutada koguni neli korda:

php<?php
  echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // väljastab '! ! !!'
?>

Kirjutame nüüd regulaaravaldise, milles otsimismustriks on: kurakaldkriips üks või mitu korda. Sellisel juhul kirjutame operaatori + koguni 4 sümboli jaoks enne seda ilma grupeerimiseta:

php<?php
  echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // väljastab '! ! !'
?>
Задание 1

Antud string:

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

Leidke sellest stringist kõik alamstringid mustri järgi täht, kurakaldkriips, täht.

Задание 2

Antud string:

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

Leidke sellest stringist kõik alamstringid mustri järgi täht, kurakaldkriips suvaline arv kordi, täht.