Optimisation de l'utilisation des expressions régulières en PHP

Les expressions régulières sont un outil très lourd et relativement lent. Quand une solution alternative existe, il est préférable de l'utiliser.

Regardons un exemple. Supposons que nous devions vérifier si une certaine chaîne commence par un point d'exclamation. Un certain programmeur a résolu cette tâche via une expression régulière :

php<?php
  if (preg_match('#^!#', $str)) {
    echo 'oui';
  } else {
    echo 'non';
  }
?>

Cependant, cette tâche a une solution beaucoup plus rapide :

php<?php
  if ($str[0] == '!') {
    echo 'oui';
  } else {
    echo 'non';
  }
?>

Les expressions régulières sont un outil très lourd et relativement lent. Toujours, quand une solution alternative existe, il est préférable de l'utiliser.

Задание 1

Dans le code suivant, un certain programmeur vérifie s'il y a la sous-chaîne '333' dans une chaîne. Optimisez la solution de ce programmeur.

Voici le code :

php<?php
  $str = '1233345';
  
  if (preg_match('#333#', $str)) {
    echo 'présent';
  } else {
    echo 'absent';
  }
?>
Задание 2

Dans le code suivant, un certain programmeur vérifie si la chaîne se termine par .html. Optimisez la solution de ce programmeur.

Voici le code :

php<?php
  $str = 'index.html';
  
  if (preg_match('#\.html$#', $str)) {
    echo 'oui';
  } else {
    echo 'non';
  }
?>
Задание 3

Écrivez un code qui vérifiera si la chaîne se termine par .png ou par .jpg.