Nyşanlaryň gaýtalanmagynyň operatorlary

Belli bir nyşanyň näçe gezek gaýtalandygyny görkezmek isleýän wagtymyz bolar. Eger gaýtalanmagyň takyk sany belli bolsa, onda ony birnäçe gezek ýazyp bileris - #aaaa#. Ýöne bir ýa-da birnäçe gezek gaýtalanýar diýmek islesek na etmeli?

Bun üçin (kwantifikatorlar) gaýtalama operatorlary bar: plus + (bir ýa-da birnäçe gezek), ýyldyz * (nöl ýa-da birnäçe gezek) we sorag ? (nöl ýa-da bir gezek). Bu operatorlar öňlerinde duran nyşana täsir edýär.

Geliň bu operatorlaryň işini mysallar üsti bilen göreli.

Mysal

'x' harpy, 'a' harpy bir ýa-da birnäçe gezek, 'x' harpy şablonyna laýyk gelýän ähli kiçi setirleri tapalyň:

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

Netijede üýtgeýjide aşakdaky ýazylar:

php'xx ! ! ! xbx'

Mysal

'x' harpy, 'a' harpy nöl ýa-da birnäçe gezek, 'x' harpy şablonyna laýyk gelýän ähli kiçi setirleri tapalyň:

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

Netijede üýtgeýjide aşakdaky ýazylar:

php'! ! ! ! xbx'

Mysal

'x' harpy, 'a' harpy nöl ýa-da bir gezek, 'x' harpy şablonyna laýyk gelýän ähli kiçi setirleri tapalyň:

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

Netijede üýtgeýjide aşakdaky ýazylar:

php'! ! xaax xbx'

Amaly wezipeler

Задание 1

Setir berlen:

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

'a' harpy, 'b' harpy bir ýa-da birnäçe gezek, 'a' harpy şablonyna laýyk gelýän setirleri tapýan regulýar ifadäni ýazyň.

Задание 2

Setir berlen:

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

'a' harpy, 'b' harpy nöl ýa-da birnäçe gezek, 'a' harpy şablonyna laýyk gelýän setirleri tapýan regulýar ifadäni ýazyň.

Задание 3

Setir berlen:

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

'a' harpy, 'b' harpy bir gezek ýa-da hiç, 'a' harpy şablonyna laýyk gelýän setirleri tapýan regulýar ifadäni ýazyň.

Задание 4

Setir berlen:

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

'abca' we 'abea' setirlerini tutmazdan, 'aa', 'aba', 'abba', 'abbba' setirlerini tapýan regulýar ifadäni ýazyň.