Обратный слеш является спецсимволом PHP. Это значит, что в строке, если мы хотим, чтобы слеш обозначал сам себя, мы должны его удвоить:
<?php
$str = '\\ \\\\ \\\\\\'; // на самом деле строка '\ \\ \\\'
?>
Обратный слеш также является и спецсимволом регулярок. Это значит, что внутри регулярки, чтобы слеш обозначал сам себя, его нужно написать аж четыре раза:
<?php
echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // выведет '! ! !!'
?>
Давайте теперь напишем регулярку, в которой
шаблон поиска будет такой: обратный слеш
один или более раз В таком случае мы
напишем оператор + аж для 4
символов перед ним без группировки:
<?php
echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); //выведет '! ! !'
?>
Дана строка:
<?php
$str = 'a\\b c\\d e\\f';
?>
Найдите в этой строке все подстроки по шаблону буква, обратный слеш, буква.
Дана строка:
<?php
$str = 'a\\b c\\\\d e\\\\\\f';
?>
Найдите в этой строке все подстроки по шаблону буква, обратный слеш любое количество раз, буква.