A fordított perjel problémája PHP-ban
A fordított perjel speciális karakter a PHP-ban. Ez azt jelenti, hogy egy sztringben, ha azt szeretnénk, hogy a perjel önmagát jelölje, meg kell dupláznunk:
<?php
$str = '\\ \\\\ \\\\\\'; // valójában a sztring: '\ \\ \\\'
?>
A fordított perjel egyben speciális karakter a reguláris kifejezésekben is. Ez azt jelenti, hogy a reguláris kifejezésen belül, hogy a perjel önmagát jelölje, akár négyszer kell leírnunk:
<?php
echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // kimenet: '! ! !!'
?>
Most írjunk egy reguláris kifejezést, amelyben
a keresési minta a következő: fordított perjel
egyszer vagy többször. Ebben az esetben
az + operátort akár 4
előtte álló karakterre írjuk csoportosítás nélkül:
<?php
echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // kimenet: '! ! !'
?>
Adott a következő sztring:
<?php
$str = 'a\\b c\\d e\\f';
?>
Keresse meg ebben a sztringben az összes részsztringet a betű, fordított perjel, betű minta szerint.
Adott a következő sztring:
<?php
$str = 'a\\b c\\\\d e\\\\\\f';
?>
Keresse meg ebben a sztringben az összes részsztringet a betű, fordított perjel bármennyi alkalommal, betű minta szerint.