PHP-də Regular İfadələrə Giriş

Regular ifadələr - mürəkkəb axtarış və əvəzetmə üçün istifadə olunan əmrlərdir. Onlar çox maraqlı şeylər etməyə imkan verir, lakin təəssüf ki, mənimsənilməsi çətindir.

PHP-də regular ifadələrlə işləmək üçün bir neçə funksiya var. Biz onlarla preg_replace nümunəsi ilə tanış olacağıq. Bu funksiya birinci parametr kimi nəyi dəyişdirməli, ikinci parametr kimi nə ilə əvəz etməli, üçüncü parametr kimi isə dəyişikliyin ediləcəyi sətri qəbul edir:

php<?php
  preg_replace(nəyi dəyiş, nə ilə, sətir);
?>

Eyni zamanda, birinci parametr kimi funksiyamız sadə sətir deyil, regular ifadə qəbul edir, bu da # simvollarının içərisində yerləşən əmrlər dəsti olan bir sətirdir. Bu diyez işarələri regular ifadələrin ayırıcıları adlanır.

Ayırıcılardan sonra modifikatorlar yazmaq olar - bu, regular ifadənin ümumi xassələrini dəyişən əmrlərdir.

Regular ifadələrin özləri iki növ simvoldan ibarətdir: özünü ifadə edən simvollar və xüsusi simvollar adlanan əmr simvolları.

Hərflər və rəqəmlər özlərini ifadə edir. Aşağıdakı misalda biz regular ifadə vasitəsilə 'a' hərfini '!' ilə əvəz edəcəyik:

php<?php
  preg_replace('#a#', '!', 'bab'); // 'b!b' qaytaracaq
?>

Nöqtə isə xüsusi simvoldur və istənilən simvolu ifadə edir. Aşağıdakı misalda biz belə bir şablonla sətir tapacağıq: 'x' hərfi, sonra istənilən simvol, daha sonra yenidən 'x' hərfi:

php<?php
  preg_replace('#x.x#', '!', 'xax eee'); // '! eee' qaytaracaq
?>
Задание 1

Bir sətir verilib:

php<?php
  $str = 'ahb acb aeb aeeb adcb axeb';
?>

'ahb', 'acb', 'aeb' sətirlərini tapacaq regular ifadə yazın. Şablon: 'a' hərfi, istənilən simvol, 'b' hərfi.

Задание 2

Bir sətir verilib:

php<?php
  $str = 'ahb acb aeb aeeb adcb axeb';
?>

'aeeb', 'adcb', 'axeb' sətirlərini tapacaq regular ifadə yazın. Şablon: 'a' hərfi, iki istənilən simvol, 'b' hərfi.