Vấn đề dấu gạch chéo ngược trong PHP

Dấu gạch chéo ngược là ký tự đặc biệt trong PHP. Điều này có nghĩa là trong chuỗi, nếu chúng ta muốn dấu gạch chéo ngược đại diện cho chính nó, chúng ta phải nhân đôi nó:

php<?php
  $str = '\\ \\\\ \\\\\\'; // thực tế chuỗi là '\ \\ \\\'
?>

Dấu gạch chéo ngược cũng là ký tự đặc biệt của biểu thức chính quy. Điều này có nghĩa là bên trong biểu thức chính quy, để dấu gạch chéo ngược đại diện cho chính nó, nó cần được viết tới bốn lần:

php<?php
  echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // sẽ in ra '! ! !!'
?>

Bây giờ hãy viết một biểu thức chính quy, trong đó mẫu tìm kiếm sẽ là: dấu gạch chéo ngược một hoặc nhiều lần. Trong trường hợp đó, chúng ta sẽ viết toán tử + cho tới 4 ký tự trước nó mà không cần nhóm:

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

Cho một chuỗi:

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

Tìm tất cả các chuỗi con trong chuỗi này theo mẫu chữ cái, dấu gạch chéo ngược, chữ cái.

Задание 2

Cho một chuỗi:

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

Tìm tất cả các chuỗi con trong chuỗi này theo mẫu chữ cái, dấu gạch chéo ngược bất kỳ số lần nào, chữ cái.