PHP Düzenli ifadeler -9 Örnekler

Genellikle "regex" veya "RegExp" olarak bilinen Normal İfadeler, metindeki kalıpları bulmak için kullanılan özel olarak biçimlendirilmiş metin dizeleridir. Düzenli ifadeler, etkili ve verimli metin işleme ve manipülasyonlar için günümüzde mevcut olan en güçlü araçlardan biridir. Örneğin, kullanıcı tarafından girilen isim, e-posta, telefon numarası vb. Gibi veri formatının doğru olup olmadığını doğrulamak, metin içeriği içinde eşleşen dizeyi bulmak veya değiştirmek için kullanılabilir.

Bu bölümde regex ile örnekler yapacağız.

Düzenli İfadelerin Kullanım Amacı


Regex Meta Karakterler(ESCAPED CHARACTERS)

Aşağıdaki karakterlerin işlevlerini regexr.com sitesini kullanarak deneyebilirsiniz. Birden fazla karakteri kullanarak kendi isteğinize göre şekillendirebilirsiniz.


# i ve g değiştiricisi

Düzenli ifadeler varsayılan olarak büyük/küçük harfe duyarlıdır. /merhaba/ Düzenli ifadesinin /Merhaba/ düzenli ifadeden farklı olduğu anlamına gelir, çünkü yalnızca ilk ifade küçük harf 'm' ile başlarken ikincisi büyük 'M' ile başlar . Ancak bu davranışı , normal ifadenin kapanış sınırlayıcısından hemen sonra i değiştiricisini ekleyerek değiştirebiliriz. "g" değiştiricisinide belirtmezsek metinde ilk eşleşeni bulur durur. "g" ise tüm metni tarar.

ÖRNEK:

regex, regex php

Tek bir karekteri seçme

Tek bir karekteri seçmek istediğimizde "g" değiştiricisini kullanmayın.


ÖRNEK:

regex, regex php

Belirtilen Tüm karekterleri seçme

Tüm karekterleri seçmek için "g" değiştiriciyi kullanın.

ÖRNEK:

regex, regex php

"+"

Kendinden önce gelen ifadenin bir veya daha fazla kullanımına eşlenir. Örnek olarak a+ ifadesi a, aa, aaa… ile eşlenir. Bu seçtiği karekterleri tek tek seçme değilde bir grup halinde seçer.

ÖRNEK:

regex, regex php

"?"

Kendinden önce gelen ifadenin 0 veya 1 tekrarıyla eşlenir. Yani, olabilirde olmayabilirde demek.

ÖRNEK: "merhaba" ve "meraba" yazılışı farklı, aynı anlamlı iki kelime gelebilir; Ama ikisinide seçmek istiyoruz "h" harfinin önüne "?" işareti getirerek "h" harfi gelebilirde gelmeye bilirde demiş oluyoruz.

ÖRNEK:

regex, regex php

"*"

Önünde bulunduğu karakterin 0 veya tekrarlarıyla eşlenir. .* ifadesi bütün karakterlere eşlenirken, a*t ifadesi "t, tt, at" ile eşlenir. "+" ve "?" işaretinin birleşimidir. opsiyonal olarak tekrar eden kelime varsa grup olarak seçer.

ÖRNEK:

regex, regex php

"."

Sayfa ya da paragraf sonu dışındaki herhangi bir karakteri temsil eder. Örnek olarak "k.re" ifadesi "küre", "kare", "kore", "kere" ile eşlenecektir.

ÖRNEK:

regex, regex php

ÖRNEK 2: Tüm harfleri grup olarak seçelim "+" özelliğini kullanalım.


regex, regex php

ÖRNEK 3: Desenimiz şöyle olsun /Deniz./ "Denizi" ve "Denize" iki kelimeyide seçeçek burda "." yerine her tür karekter alabilir.


regex, regex php

"\w"

[a-zA-Z0-9_] Türkçe harfler hariç, alfanümerik herhangi bir harf, rakam veya alt çizgi.

ÖRNEK:


regex, regex php

\W

[^a-zA-Z0-9_] alfanümerik olmayan.


regex, regex php

"\s"

[ \t\n\r\f] herhangi bir boşluk karakteri seçer.


regex, regex php

"S"

[^ \t\n\r\f] boşluk karakteri olmayanları seçer.

regex, regex php

"\d"

[0-9] herhangi bir rakam seçer.

regex, regex php

"D"

[^0-9] rakam olmayan herhangi bir karekteri seçer.


regex, regex php

"^"

Şapka meta karakteri, dizenin başlangıcını gösterir.


regex, regex php

"$"

Dolar meta karakteri, dizenin sonunu gösterir.


regex, regex php

"[]"

Köşeli parantezler, içindeki tüm karakterlerle eşlenir. Örnek olarak S[eo]n ifadesi "Sen" ve "Son" ile eşlenir.

regex, regex php

Parantezin içine yazılan a,b ve c harfleriyle eşleşir buraya istediğiniz harfi yazabilirsiniz.(Sayı da yazabilirsiniz)

regex, regex php

"[c1-c2]"

Belirtilen aralığa göre eşleniklerin belirlenmesinde kullanılır. Örneğin [0-9] ifadesi bütün rakamlar ile eşlenir. Birleşik ifadeye örnek olarak [A-Za-z] ifadesi de bütün harflerle büyük küçük ayrımı yapmadan eşlenecektir.

regex, regex php

"[^c1-c2]"

Şapka (^) sembolünün dizenin başlangıcını temsil ettiğini zaten öğrendik, ancak köşeli parantez içinde kullanıldığında karakter kümesinin olumsuzluğunu gösterir.

Örneğin, [a-z], a'dan z'ye kadar olan harf aralığı anlamına geliyorsa, köşeli parantez içinde şapka simgesi olan [^a-z] yerine, küçük harf kümesinde olmayan her karakter anlamına gelir. Birkaç örnek daha görelim:

regex, regex php

ÖRNEK:

regex, regex php

"|"

Veya/yada anlamındadır, belirtilen iki ifadeyle ayrı ayrı eşlenebilir. Örneğin k(a|u)le ifadesi, "kale" ve "kule" ifadelerine eşlenir.

regex, regex php

"()"

İfadeyi gruplandırmaya yarar. Ayrica gruplandırılmış ifadelerine denk gelen kalıpları saklar ve en fazla 9 kalıp saklayabilir.

ÖRNEK:

regex, regex php

"\b"

\b meta karakteri, bir kelimenin başında veya sonunda bir eşleşme bulmak için kullanılır.

Aşağıdaki gibi bir kelimenin başındaki kalıbı arayın:

\bLO

Aşağıdaki gibi bir kelimenin sonundaki kalıbı arayın:

LO\b

Eşleşme bulunamazsa, null döndürür.

regex, regex php


regex, regex php

"\B"

Bir kelimenin başındaki veya sonundaki kalıbı aramaz, ortasında arar.

regex, regex php

Düzenli ifadelerde niceleyiciler


"{}"

Bir karakter grubunun veya bir karakterin normal bir ifadede kaç kez tekrarlanabileceğini belirtmek için niceleyicileri kullanırız.

ÖRNEK: Bir kere tekralanan (.) karekterini bulun


regex, regex php

ÖRNEK: Dört kere tekralanan (.) karekteri bulun.


regex, regex php

Örnek: Şöyle, desen kullansak {1,} bunun anlamı bir ve daha fazla tekrarlananı getir.


regex, regex php

Örnek: Şöyle, desen kullansak {1,5} bunun anlamı bir ve beş kez tekrarlananları getir.


regex, regex php

Örnek: Şöyle, desen kullansak {0,5} bunun anlamı sıfır ve beş kez tekrananları getir.


regex, regex php

Regex’ te * (yıldız) ve + (artı) sembolleri varsayılan olarak aç gözlüdür(greedy). Yani yakalayabildikleri kadar karakter yakalamaya çalışırlar. Fakat bu durum bazen işimize yaramayabilir. Bazen mümkün olduğunca en az eşleşmeyi elde etmek isteriz. İşte bunun için bu sembollerden sonra soru işareti "?" kullanmamız gerekmedir.

Lookahead (İleriye bak)

Lookahead'ler Regex’ de bir ifadeyi takip eden başka ifadeler olup olmadığını kontrol etmek için kullanılır. Negative ve positive olmak üzere ikiye ayrılır.

ÖRNEK: negative lookahead(İleriye olumsuz bak.) örnek verirsek, sonunda 'de olmayan php'leri seçin.


regex, regex php

ÖRNEK: positive lookahead(İleriye olumlu bak.) örnek verirsek sonunda 'de olan php'leri seçin.


regex, regex php

Lookbehind (Arkana bak)

Lookbehind’ler bir ifadeden önce başka bir ifade olup olmadığını kontrol etmek için kullanılır. Negative ve Positive olmak üzere ikiye ayrılır.

ÖRNEK: "'de" ile başlamayan php'leri seçelim.


regex, regex php

ÖRNEK: "'de" ile başlayan php'leri seçelim"


regex, regex php

Diğer regex Konularin Linki

Emine Bekem 31/10/2022

İl isimli bir değişkene girilen değer Ankara ise ekrana "EVET" yazacak eğer yanlış ise ekrana alt alta 5 defa "HAYIR" yazacak programın kodlarını for döngüsünü kullanarak php dilinde yazar mısınız?

yönetici 01/11/2022


<?php

$il='Ankara';

if($il=='Ankara' or $il=='ankara')

Echo 'EVET';

else

for($i=1;$i<=5; $i++){

   echo 'HAYIR';
   
   echo "<br>";
}

?>

Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlanacaktır. Lütfen Yukarıda ki mesajları okuyun tekrar aynı soruları sormayın.

7950

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
  • MİTHRİL FRAMEWORK
  • Laravel
  • Git
  • React
POPÜLER MAKALE
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML RESME LİNK VERME
  • HTML FORM OLUŞTURMA
  • CSS YATAY MENÜ YAPIMI
  • HTML RESİM EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML DİV ve SPAN NEDİR?
  • HTML ARKAPLANA MÜZİK EKLEME
  • KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.