PHP kurakaldkriipsu probleem
Kurakaldkriips on PHP erisümbol. See tähendab, et stringis, kui me soovime, et kaldkriips tähistaks iseennast, peame selle kahekordistama:
<?php
$str = '\\ \\\\ \\\\\\'; // tegelikult string '\ \\ \\\'
?>
Kurakaldkriips on samuti regulaaravaldiste erisümbol. See tähendab, et regulaaravaldise sees, et kaldkriips tähistaks iseennast, tuleb seda kirjutada koguni neli korda:
<?php
echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // väljastab '! ! !!'
?>
Kirjutame nüüd regulaaravaldise, milles
otsimismustriks on: kurakaldkriips
üks või mitu korda. Sellisel juhul kirjutame
operaatori + koguni 4
sümboli jaoks enne seda ilma grupeerimiseta:
<?php
echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // väljastab '! ! !'
?>
Antud string:
<?php
$str = 'a\\b c\\d e\\f';
?>
Leidke sellest stringist kõik alamstringid mustri järgi täht, kurakaldkriips, täht.
Antud string:
<?php
$str = 'a\\b c\\\\d e\\\\\\f';
?>
Leidke sellest stringist kõik alamstringid mustri järgi täht, kurakaldkriips suvaline arv kordi, täht.