Problema backslash-ului în PHP

Backslash-ul este un caracter special în PHP. Aceasta înseamnă că, într-un șir de caractere, dacă dorim ca backslash-ul să reprezinte el însuși, trebuie să-l dublăm:

php<?php
  $str = '\\ \\\\ \\\\\\'; // de fapt șirul este '\ \\ \\\'
?>

Backslash-ul este, de asemenea, și un caracter special al expresiilor regulate. Aceasta înseamnă că, în interiorul unei expresii regulate, pentru ca backslash-ul să reprezinte el însuși, trebuie să-l scriem de până la patru ori:

php<?php
  echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // va afișa '! ! !!'
?>

Să scriem acum o expresie regulată în care modelul de căutare este: backslash unul sau mai multe ori. În acest caz vom scrie operatorul + pentru 4 caractere înaintea lui fără grupare:

php<?php
  echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // va afișa '! ! !'
?>
Задание 1

Este dat șirul:

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

Găsiți în acest șir toate subșirurile după modelul literă, backslash, literă.

Задание 2

Este dat șirul:

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

Găsiți în acest șir toate subșirurile după modelul literă, backslash orice număr de ori, literă.