PHP-daky terse süýş masalahy

Terse süýş PHP-niň aýratyn nyşanydyr. Bu şuny aňladýar, eger biz setirde süýşiň özüni aňlatmagyny islesek, ony iki esse ýazmaly:

php<?php
  $str = '\\ \\\\ \\\\\\'; // aslynda setir '\ \\ \\\'
?>

Terse süýş şeýle hem regulýar ifadeleriň aýratyn nyşanydyr. Bu şuny aňladýar, regulýar ifadäniň içinde süýşiň özüni aňlatmagy üçin ony dört gezek ýazmaly:

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

Geliň indi şeýle bir regulýar ifade ýazalyň, ýöndeşlik şablony şeýle bolsun: terse süýş bir ýa-da birnäçe gezek. Şeýle ýagdaýda biz + operatoruny toparlamany ulanmazdan, onuň öňündäki 4 simwol üçin ýazaris:

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

Setir berlen:

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

Bu setirde harpa, terse süýş, harpa şablony boýunça ähli kiçi setirleri tapyň.

Задание 2

Setir berlen:

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

Bu setirde harpa, islendik sany terse süýş, harpa şablony boýunça ähli kiçi setirleri tapyň.