Regular Expression - Regex.
Regular Expression php ile arama ve değiştirme işlemlerinde kullanılan özel bir sistemdir. Bunu farklı ortamlardaki * karakterine benzetebilirsiniz. adını bilmediğimiz bir kelimenin yerine * koyarak aram yapabiliriz.
Örneğin windows ile bir dosya ararken *.doc dediğinizde windows size uzantısı DOC olan tüm dosyaları gösterecektir. buradaki * karakteri bilinmeyen isim anlamına gelmektedir. işte regular expression (kısaca regex) tam olarak buna benzer bir işlem yapmaktadır. yine benzetmeden yola çıkarak devam etmek gerekirse regex ile kullanılan bilinmeyen kelime ? (soru işareti) veya .(nokta) işaretidir.
Diyelim ki Regex ile 4 harfli bir kelime arıyoruz.
A??? şeklinde yazarsak bu durumda Ayça, Aliş, Azim gibi baş harfi A olan isimlerin hepsini bulacaktır.
Daha uzun harfli bir arama yapıyorsak tek tek ? koymak yerine + koyabiliriz.
+ karakteri = sonsuz sayıda olabilir demektir.
örneğin baş harfi A olan herhangi bir kelime arıyoruz.
A?+
Aynı şekilde bir örnek, Başı A olan 10 harflik bir kelime arıyoruz, ? işaretinden sonra konulan parantezli sayı Soru işaretinin kaç kere tekrar edeceğini gösterir. Soru işareti ise bilinmeyen karakter olduğu için "Başı A olan 10 harflik bir kelime" anlamına gelir.
A?{10}
Kullanımda sistemden sisteme farklılıklar olsa bile çalışma şekli buna benzer şekildedir.
Özel karakterler:
^ . $ | ( ) [ ]
* + ? { } ,
Özel karakter tanımları:
Sonraki karakteri harf olarka tanımlar
^ Satır başında arar
. Satırbaşı hariç herhangi bir harf
$ Satır sonu karakteri
| Lojik OR ifadesi
() Arama grubu
[] Kelime grubu
* En az 0 kere tekrar eden karakter
+ En az 1 kere olması gerekir
? Aranan karakter 1 kere veya 0 kere olabilir
{n} Aranan karakter sayısı
{n,} Aranan harfin en az n kere olması gerekir
{n,m} Aranan sayı limitinin alt ve üst sınırı
Özel Klavye harfleri:
tab tuşu
satır başı
Enter
f Form beslemesi
a Sinyal sesi
e ESC tuşu
33 octal karakter
x1B hex karakter
c[ Kontrol tuşu
l sonraki harf küçük harflidir
u sonraki harf büyükharflidir
L bundan sonar E gelene kadar hepsi küçük harf
U bundan sonar E gelene kadar hepsi büyük harf
E Sonlandırıcı
Q Bundan sonra E gelene kadar normal karakter
Diğer özel Karakterler
w Alfabetik karakterler ve "_"
W Alfabetik olmayan karakter asyı ve özel işaret olabilir
s Boşluklar
S Boşluk olmayanlar
d Dijital karakter
D Dijital olmayan karakter
Kelime sınırları
B Kelime sınırı olmayanlar
A Kelimenin başı
Kelimenin sonu
z Sadece kelime sonu

.
php sayfasının içinde örnek bir kullanım şekili olsaydı,
çok iyi olurdu sanırım...
site içi arama motoru örneği olsaydı mesela burda...
süper olurduu diye düşünüyorum.
Bu Kodda sadece Arama mı yapabiliyoruz aradığımız nesneyi değiştirmek icinde kullanabiliyormuyuz