⊗ppPmRgRO 224 of 447 menu

RegEx-də Simvol Təkrarlama Operatorları

Elə hallar olur ki, biz göstərmək istəyirik ki, simvol müəyyən sayda təkrarlanır. Əgər dəqiq təkrarlanma sayını biliriksə, onda sadəcə onu bir neçə dəfə yaza bilərik - #aaaa#. Bəs biz belə bir şey demək istəsək: bir və ya daha çox dəfə təkrarla?

Bunun üçün (kvantifikatorlar) təkrarlama operatorları mövcuddur: plus + (bir və ya daha çox dəfə), ulduz * (sıfır və ya daha çox dəfə) və sual işarəsi ? (sıfır və ya bir dəfə). Bu operatorlar özlərindən əvvəl gələn simvola təsir edir.

Gəlin bu operatorların işini nümunələr üzərində nəzərdən keçirək.

Nümunə

Şablona uyğun olan bütün alt sətirləri tapaq: hərf 'x', 'a' hərfi bir və ya daha çox dəfə, 'x' hərfi:

<?php $str = 'xx xax xaax xaaax xbx'; $res = preg_replace('#xa+x#', '!', $str); ?>

Nəticədə dəyişənə aşağıdakı yazılacaq:

'xx ! ! ! xbx'

Nümunə

Şablona uyğun olan bütün alt sətirləri tapaq: hərf 'x', 'a' hərfi sıfır və ya daha çox dəfə, 'x' hərfi:

<?php $str = 'xx xax xaax xaaax xbx'; $res = preg_replace('#xa*x#', '!', $str); ?>

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! ! ! ! xbx'

Nümunə

Şablona uyğun olan bütün alt sətirləri tapaq: hərf 'x', 'a' hərfi sıfır və ya bir dəfə, 'x' hərfi:

<?php $str = 'xx xax xaax xbx'; $res = preg_replace('#xa?x#', '!', $str); ?>

Nəticədə dəyişənə aşağıdakı yazılacaq:

'! ! xaax xbx'

Praktiki Tapşırıqlar

Bir sətir verilib:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Bu şablona uyğun sətirləri tapacaq regex yazın: 'a' hərfi, 'b' hərfi bir və ya daha çox dəfə, 'a' hərfi.

Bir sətir verilib:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Bu şablona uyğun sətirləri tapacaq regex yazın: 'a' hərfi, 'b' hərfi sıfır və ya daha çox dəfə, 'a' hərfi.

Bir sətir verilib:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Bu şablona uyğun sətirləri tapacaq regex yazın: 'a' hərfi, 'b' hərfi bir dəfə ya da heç, 'a' hərfi.

Bir sətir verilib:

<?php $str = 'aa aba abba abbba abca abea'; ?>

'abca''abea'-i əhatə etmədən, 'aa', 'aba', 'abba', 'abbba' sətirlərini tapacaq regex yazın.

uzdaswplsv