Праблема адваротнага слэша ў 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';
?>

Знайдзіце ў гэтым радку ўсе падрадкі па шаблоне літара, адваротны слэш любую колькасць разоў, літара.