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