Karakter Tekrarlama Operatörleri
Bir karakterin belirli sayıda tekrarlandığını belirtmek istediğimiz durumlar olur.
Eğer tam tekrar sayısını biliyorsak, onu birkaç kez yazabiliriz
- #aaaa#. Peki şöyle bir şey söylemek istersek: bir veya daha fazla
kez tekrarla?
Bunun için (nicelik belirleyiciler)
tekrarlama operatörleri vardır: artı + (bir veya daha fazla kez),
yıldız * (sıfır veya daha fazla kez) ve
soru işareti ? (sıfır veya bir kez). Bu
operatörler kendilerinden önce gelen karaktere etki eder.
Bu operatörlerin çalışmasını örneklerle görelim.
Örnek
Şu kalıba göre tüm alt dizileri bulalım: harf
'x', harf 'a' bir veya daha fazla
kez, harf 'x':
<?php
$str = 'xx xax xaax xaaax xbx';
$res = preg_replace('#xa+x#', '!', $str);
?>
Sonuç olarak değişkene şu yazılacaktır:
'xx ! ! ! xbx'
Örnek
Şu kalıba göre tüm alt dizileri bulalım: harf
'x', harf 'a' sıfır veya daha fazla
kez, harf 'x':
<?php
$str = 'xx xax xaax xaaax xbx';
$res = preg_replace('#xa*x#', '!', $str);
?>
Sonuç olarak değişkene şu yazılacaktır:
'! ! ! ! xbx'
Örnek
Şu kalıba göre tüm alt dizileri bulalım: harf
'x', harf 'a' sıfır veya bir
kez, harf 'x':
<?php
$str = 'xx xax xaax xbx';
$res = preg_replace('#xa?x#', '!', $str);
?>
Sonuç olarak değişkene şu yazılacaktır:
'! ! xaax xbx'
Pratik Görevler
Şu dizi verilsin:
<?php
$str = 'aa aba abba abbba abca abea';
?>
Şu kalıba göre dizileri bulacak bir düzenli ifade yazın:
harf 'a', harf 'b'
bir veya daha fazla kez, harf 'a'.
Şu dizi verilsin:
<?php
$str = 'aa aba abba abbba abca abea';
?>
Şu kalıba göre dizileri bulacak bir düzenli ifade yazın:
harf 'a', harf 'b'
sıfır veya daha fazla kez, harf 'a'.
Şu dizi verilsin:
<?php
$str = 'aa aba abba abbba abca abea';
?>
Şu kalıba göre dizileri bulacak bir düzenli ifade yazın:
harf 'a', harf 'b'
bir kez veya hiç, harf 'a'.
Şu dizi verilsin:
<?php
$str = 'aa aba abba abbba abca abea';
?>
'abca'
ve 'abea''yı yakalamadan,
'aa', 'aba', 'abba',
'abbba' dizilerini bulacak bir düzenli ifade yazın.