PHP-ում ռեգուլյար արտահայտությունների օգտագործման օպտիմիզացիա
Ռեգուլյար արտահայտությունները շատ ծանր և համեմատաբար դանդաղ աշխատող բաներ են: Երբ այլընտրանքային լուծում կա, ցանկալի է օգտագործել հենց դա:
Դիտարկենք օրինակով: Ենթադրենք, մենք պետք է ստուգենք, արդյոք որոշակի տողը սկսվում է բացականչական նշանով: Ինչ-որ ծրագրավորող այս խնդիրը լուծել է ռեգուլյար արտահայտության միջոցով.
<?php
if (preg_match('#^!#', $str)) {
echo 'այո';
} else {
echo 'ոչ';
}
?>
Սակայն, նման խնդիրը ունի շատ ավելի արագ աշխատող լուծում.
<?php
if ($str[0] == '!') {
echo 'այո';
} else {
echo 'ոչ';
}
?>
Ռեգուլյար արտահայտությունները շատ ծանր և համեմատաբար դանդաղ աշխատող բաներ են: Միշտ, երբ այլընտրանքային լուծում կա, ցանկալի է օգտագործել հենց դա:
Հաջորդ կոդում ինչ-որ ծրագրավորող ստուգում է,
արդյոք տողում կա '333' ենթատող:
Լավացրեք այս ծրագրավորողի լուծումը:
Ահա կոդը.
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'կա';
} else {
echo 'չկա';
}
?>
Հաջորդ կոդում ինչ-որ ծրագրավորող ստուգում է,
արդյոք տողը վերջանում է .html-ով:
Լավացրեք այս ծրագրավորողի լուծումը:
Ահա կոդը.
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'այո';
} else {
echo 'ոչ';
}
?>
Գրեք կոդ, որը կստուգի, արդյոք տողը վերջանում է
.png-ով կամ .jpg-ով: