Optimierung der Verwendung regulärer Ausdrücke in PHP
Reguläre Ausdrücke sind eine sehr schwere und verhältnismäßig langsam arbeitende Sache. Wenn es eine alternative Lösung gibt, sollte man preferably diese verwenden.
Schauen wir uns ein Beispiel an. Angenommen, wir müssen prüfen, ob ein String mit einem Ausrufezeichen beginnt. Ein gewisser Programmierer hat diese Aufgabe mit einem regulären Ausdruck gelöst:
<?php
if (preg_match('#^!#', $str)) {
echo 'да';
} else {
echo 'нет';
}
?>
Allerdings hat eine solche Aufgabe eine viel schneller arbeitende Lösung:
<?php
if ($str[0] == '!') {
echo 'да';
} else {
echo 'нет';
}
?>
Reguläre Ausdrücke sind eine sehr schwere und verhältnismäßig langsam arbeitende Sache. Immer, wo es eine alternative Lösung gibt, sollte man preferably diese verwenden.
Im folgenden Code prüft ein gewisser Programmierer,
ob im String der Teilstring '333' enthalten ist.
Optimieren Sie die Lösung dieses Programmierers.
Hier ist der Code:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'есть';
} else {
echo 'нет';
}
?>
Im folgenden Code prüft ein gewisser Programmierer,
ob der String auf .html endet.
Optimieren Sie die Lösung dieses Programmierers.
Hier ist der Code:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'да';
} else {
echo 'нет';
}
?>
Schreiben Sie Code, der prüft, ob ein String
auf .png oder auf .jpg endet.