Het backslash probleem in PHP

Een backslash is een speciaal teken in PHP. Dit betekent dat in een string, als we willen dat de backslash zichzelf vertegenwoordigt, we het moeten verdubbelen:

php<?php
  $str = '\\ \\\\ \\\\\\'; // eigenlijk is de string '\ \\ \\\'
?>

Een backslash is ook een speciaal teken in reguliere expressies. Dit betekent dat binnen een reguliere expressie, om een backslash zichzelf te laten vertegenwoordigen, we het wel vier keer moeten schrijven:

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

Laten we nu een reguliere expressie schrijven waarin het zoekpatroon is: backslash een of meer keer. In dat geval schrijven we de operator + voor wel 4 tekens ervoor zonder groepering:

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

Gegeven een string:

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

Vind alle substrings in deze string volgens het patroon letter, backslash, letter.

Задание 2

Gegeven een string:

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

Vind alle substrings in deze string volgens het patroon letter, backslash een willekeurig aantal keren, letter.