Optimering van die gebruik van regulêre uitdrukkings in PHP

Regulêre uitdrukkings is baie swaar en relatief stadig werkende dinge. Wanneer daar 'n alternatiewe oplossing is, is dit verkieslik om dit te gebruik.

Kom ons kyk na 'n voorbeeld. Gestel ons moet nagaan of 'n sekere string met 'n uitroepteken begin. 'n Sekere programmeur het hierdie taak opgelos deur 'n reguliere uitdrukking te gebruik:

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

Hierdie taak het egter 'n baie vinniger werkende oplossing:

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

Regulêre uitdrukkings is baie swaar en relatief stadig werkende dinge. Waar daar 'n alternatiewe oplossing is, is dit altyd verkieslik om dit te gebruik.

Задание 1

In die volgende kode gaan 'n sekere programmeur na of die string die substring '333' bevat. Optimaliseer hierdie programmeur se oplossing.

Hier is die kode:

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

In die volgende kode gaan 'n sekere programmeur na of die string op .html eindig. Optimaliseer hierdie programmeur se oplossing.

Hier is die kode:

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

Skryf kode wat sal nagaan of 'n string op .png of op .jpg eindig.