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<?php
  if (preg_match('#^!#', $str)) {
    echo 'да';
  } else {
    echo 'нет';
  }
?>

Allerdings hat eine solche Aufgabe eine viel schneller arbeitende Lösung:

php<?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.

Задание 1

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<?php
  $str = '1233345';
  
  if (preg_match('#333#', $str)) {
    echo 'есть';
  } else {
    echo 'нет';
  }
?>
Задание 2

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<?php
  $str = 'index.html';
  
  if (preg_match('#\.html$#', $str)) {
    echo 'да';
  } else {
    echo 'нет';
  }
?>
Задание 3

Schreiben Sie Code, der prüft, ob ein String auf .png oder auf .jpg endet.