PHP-daky regulýar ifadelerde burç ýaýlary

+, *, ? operatorlary gowy, ýöne olaryň kömegi bilen belli bir gaýtalanyş sanysyny görkezip bolmaýar. Bu ýagdaýda size {} operatory kömek eder.

Ol şeýle işleýär: {5} - bäş gezek gaýtalanyş, {2,5} - iki-den bäş-e çenli (ikisi hem goşulýar) gaýtalanyş, {2,} - iki we ondan köp gezek gaýtalanyş.

Mysal

Bu mysalda gözleg şabony şeýle görünýär: 'x' harpy, 'a' harpy bir ýa-da iki gezek, 'x' harpy:

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{1,2}x#', '!', $str);
?>

Netijede üýtgeýjä şu ýazylar:

php'xx ! ! xaaax'

Mysal

Bu mysalda gözleg şabony şeýle görünýär: 'x' harpy, 'a' harpy iki gezek we ondan köp, 'x' harpy:

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

Netijede üýtgeýjä şu ýazylar:

php'xx xax ! !'

Mysal

Bu mysalda gözleg şabony şeýle görünýär: 'x' harpy, 'a' harpy üç gezek, 'x' harpy:

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

Netijede üýtgeýjä şu ýazylar:

php'xx xax xaax !'

Mysal

Bu mysalda gözleg şabony şeýle görünýär: 'a' harpy on gezek:

php<?php
  $str = 'aaa aaaaaaaaaa aaa';
  $res = preg_replace('#a{10}#', '!', $str);
?>

Netijede üýtgeýjä şu ýazylar:

php'aaa ! aaa'

Mysal

Bu mysalda kody ýazan şu şabony isläpdir: 'x' harpy, 'a' harpy üç gezek we ondan az, 'x' harpy, ýöne, gynansagam, muny - {,3} - işlemeýär. Aç-açan görkezmeli:

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{1,3}x#', '!', $str);
?>

Netijede üýtgeýjä şu ýazylar:

php'xx ! ! !'

Mysal

Nol hem rugsat berilýär:

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{0,3}x#', '!', $str);
?>

Netijede üýtgeýjä şu ýazylar:

php'! ! ! !'

Amaly meseleler

Задание 1

Setir berlen:

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

'abba', 'abbba', 'abbbba' setirlerini we diňe olary tapýan regulýar ýazyň.

Задание 2

Setir berlen:

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

'aba' görnüşindäki, içinde 'b' üç gezekden az (goşulýar) duş gelýän setirleri tapýan regulýar ýazyň.

Задание 3

Setir berlen:

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

'aba' görnüşindäki, içinde 'b' dört gezekden köp (goşulýar) duş gelýän setirleri tapýan regulýar ýazyň.