PHP Düzenli İfadelerinde Küme Parantezleri

+, *, ? operatörleri iyidir, ancak bunlarla belirli bir tekrar sayısı belirtilemez. Bu durumda {} operatörü imdadınıza yetişecektir.

Şu şekilde çalışır: {5} - beş tekrar, {2,5} - iki ile beş arasında tekrar (ikisi de dahil), {2,} - iki veya daha fazla tekrar.

Örnek

Bu örnekte arama kalıbı şu şekildedir: 'x' harfi, 'a' harfi bir veya iki kez, 'x' harfi:

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

Sonuç olarak değişkene şu yazılacaktır:

php'xx ! ! xaaax'

Örnek

Bu örnekte arama kalıbı şu şekildedir: 'x' harfi, 'a' harfi iki veya daha fazla kez, 'x' harfi:

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

Sonuç olarak değişkene şu yazılacaktır:

php'xx xax ! !'

Örnek

Bu örnekte arama kalıbı şu şekildedir: 'x' harfi, 'a' harfi üç kez, 'x' harfi:

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

Sonuç olarak değişkene şu yazılacaktır:

php'xx xax xaax !'

Örnek

Bu örnekte arama kalıbı şu şekildedir: 'a' harfi on kez:

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

Sonuç olarak değişkene şu yazılacaktır:

php'aaa ! aaa'

Örnek

Bu örnekte kodun yazarı şu kalıbı istemişti: 'x' harfi, 'a' harfi üç kez ve daha az, 'x' harfi, ancak ne yazık ki bu - {,3} - çalışmaz. Açıkça belirtmek gerekir:

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

Sonuç olarak değişkene şu yazılacaktır:

php'xx ! ! !'

Örnek

Sıfır da kabul edilebilir:

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

Sonuç olarak değişkene şu yazılacaktır:

php'! ! ! !'

Pratik Görevler

Задание 1

Bir string verildi:

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

'abba', 'abbba', 'abbbba' stringlerini ve sadece onları bulacak bir düzenli ifade yazın.

Задание 2

Bir string verildi:

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

'aba' şeklinde, içinde 'b' harfinin üç defadan az (dahil) geçtiği stringleri bulacak bir düzenli ifade yazın.

Задание 3

Bir string verildi:

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

'aba' şeklinde, içinde 'b' harfinin dört defadan fazla (dahil) geçtiği stringleri bulacak bir düzenli ifade yazın.