Problemet med bakåtlutande streck i PHP

Bakåtlutande streck är ett specialtecken i PHP. Det betyder att i en sträng, om vi vill att strecket ska representera sig självt, måste vi fördubbla det:

php<?php
  $str = '\\ \\\\ \\\\\\'; // faktiskt är strängen '\ \\ \\\'
?>

Bakåtlutande streck är också ett specialtecken i reguljära uttryck. Det betyder att inuti ett reguljärt uttryck, för att strecket ska representera sig självt, behöver det skrivas hela fyra gånger:

php<?php
  echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // skriver ut '! ! !!'
?>

Låt oss nu skriva ett reguljärt uttryck där sökmönstret är: bakåtlutande streck en eller flera gånger. I så fall skriver vi operatorn + för hela 4 tecken före den utan gruppering:

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

Given sträng:

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

Hitta alla delsträngar i denna sträng enligt mönstret bokstav, bakåtlutande streck, bokstav.

Задание 2

Given sträng:

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

Hitta alla delsträngar i denna sträng enligt mönstret bokstav, bakåtlutande streck valfritt antal gånger, bokstav.