Regex IPv4 Adresleri , Regex ile IP Alma (PHP)

Belirli bir dize içerisinde 255.255.255.255 gösteriminin olduğunu varsayacağımız IPv4 adresinin olup olmadığını kontrol etmek istiyorsak işimize yarayacak bir konu. Bu basit bir projede karşıma çıkmış ancak hiç tecrübem olmadığı için araştırmak zorunda kaldığım bir konuydu. Basit anlamda bir txt içeriğini okumak ve belirli ifadeleri içerisinden almak yeni bir dosyaya eklemeler yaparak yazdırmaktı. Elbette ip almak istediğimde iş Regex IPv4 Adresleri , Regex ile IP Alma araştırmasına döndü. Edindiğim bilgileri paylaşayım hemen.

Regex IPv4 Adresleri , Regex ile IP Alma

Düzenli İfadelerin Kullanım Amacı (Regex)

  • Veri yığınından kurtulur , ihtiyaç duyduğunuz bilgiyi kolaylıkla bulabilirsiniz,
  • Kullanıcı girdilerini kontrol etme (mail,site adı gibi)
  • Verilerin kullanım amacına uygun olarak işlenmesi

Bir IP adresini kontrol etmek için basit regex ifadesi

Not: Tanımlama yaparken desenin başı ve sonuna “/” koymayı unutmayınız. Demek istediğim ; 

$pattern = "/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/";

tanımlamayı böyle yapmazsanız limit hatası verecektir. Devamına geçebilirsiniz.

\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}

benim kullandığım desen buydu ancak pek çok yerde

^ (?: [0-9] {1,3} \.) {3} [0-9] {1,3} $

olarak kullanıldığını da gördüm.

Normal ifade çeşitleri : .NET, Java, JavaScript, PCRE, Perl, Python, Ruby

Kapsamlı bir IP adresi almak için ise ;

^ (? :( ?: 25 [0-5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) \.) {3} ↵
(?: 25 [0-5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) $

kullanılabilir.

Regex ile IP adresinin dört bölümünü alma

^ ([0-9] {1,3}) \. ([0-9] {1,3}) \. ([0-9] {1,3}) \. ([0-9] { 1,3}) $

Regex ile ip adresinin dört bölümünü de alma (Kapsamlı)

^ (25 [0-5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) \. ↵
(25 [0-5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) \. ↵
(25 [0-5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) \. ↵
(25 [0-5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) $

Regex ile metin içerisinde kelime arama

$pattern= "/wordpress/";
$text = "wordpress dersleri ve makaleler";

if(preg_match($pattern,$text)) echo "wordpress kelimesini içeriyor.";
else echo "ifade yok";

Regex ile Rakam Kontrolü Nasıl Yapılır ?

$pattern = "/[0-9]+/";

$text = "4 yılı aşkın süredir";
 
if(preg_match($pattern,$text)) echo "Metin içerisinde en az bir rakam bulunuyor.";

else echo "Metin içerisinde rakam bulunmuyor.";

Regex ile Tarih Formatı Kontrolü

$pattern = '/[0-9]{2}\.[0-9]{2}\.[0-9]{4}/';

$text= "16.06.1998";
 
if(preg_match($pattern,$text)) echo "Tarih Formatı Doğru";

else echo "Tarih Formatı Geçersiz.";

Benden şimdilik bu kadar kalın sağlıcakla 🙂

AuthorHarun ALP

Bu adam , bilgi sahibi olduğu konularda makalelerini daha bilgilendirici hale getirip görseller ile süslüyor ve seo uyumlu makaleler ortaya çıkarıyor. Güncel webmaster konularını işlemekten keyif alıyor ve genelde her makale aslında bir sorunun çözümü niteliğinde.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir