Düzenli İfadeler Kütüphanesi
"ZN Framework düzenlenebilir dizin yapısı ile kendi kod çatınızı oluşturmanıza imkan veren dünyadaki tek kod çatısıdır."
Düzenli ifadeleri belli bir standarda oturtmayı, karmaşık ve anlamsız sembolleri sözcüklerle ifade ederek daha anlamlı kılmayı hedefledik. Bu kütüphanenin kullanım zorunluluğu olmamakla birlikte düzenli ifadeler kavramına yabancı olanlara az da olsa yardımcı olacağını düşünüyoruz.
# Kurulum
ZN dağıtımları ile dahili gelmektedir kurulum gerektirmez.
↓ composer require znframework/package-zerocore
# Özel Çevrimler
Düzenli ifadelerdeki desen parametrelerinin ZN Regex kütüphanesinde ne gibi değişikliğe uğradığı aşağıdaki tabloda gösterilmiştir.
Listeye kendinize özel ifade eklemek için aşağıdaki yapılandırma dosyasını kullanabilirsiniz.
# Yöntemler
# Match
Dizge içerisinde belirtilen desene göre eşleşme olup olmadığına bakar. Eşleşme varsa bir eşleşme dizi türünde döner.
string | $pattern | Verinin eşleştirileceği desen. |
string | $data | Veri. |
string | $extraChars | Düzenli ifadelerin extra karakter kontrolü. |
string | $delimiter = '/' | Düzenli ifadeler desen ayracı. |
return | array |
Kullanımı
$data = '[email protected]'; $result = Regex::match('{word}@{word}.[a-z]{2,3}', $data, '{insens}'); output($result);
0 => '[email protected]'
Parantez Grupları
( ), [ ], { }, < > gibi parantez gruplarının düzenli ifade deseni içerisindeki kullanımları standart kullanımdaki gibi geçerliliğini korur. Bu karakterlerin normal bir karakter gibi kullanılabilmesi için mutlaka \ sembolü ile öncelenmelidir.
# Replace
Dizge içerisinde belirtilen desene göre eşleşme sağlanması halinde eşleşen veriyi yeni dizge ile değiştirir.
Parametreler
string | $pattern | Verinin eşleştirileceği desen. |
string | $replace | Eşleşenlerin hangi ifade ile değiştirileceği. |
string | $data | Veri. |
string | $extraChars | Düzenli ifadelerin extra karakter kontrolü. |
string | $delimiter = '/' | Düzenli ifadeler desen ayracı. |
return | string |
Kullanımı
$data = 'https://www.znframework.com';
$replace = 'www.';
$result = Regex::replace($replace, '', $data);
echo $result;
# Quote
Dizge içerisinde geçen özel karakterleri \ karakteri ile önceler.
Kullanımı
echo Regex::quote('Hello.user');