• 20-07-2020, 16:20:49
    #1
    Merhaba arkadaşlar,
    Regex öğreniyorum yeni başladım sayılır.
    Yapmak istediğim bir işlem var.

    Örn ; +0001222333

    Böyle bir data var elimde.
    Ben regex kullanarak istiyorum ki eğer bu datanın başında +, 00, 01 var ise temizle.

    Bu işlemi nasıl yapabilirim acaba?
    Çok şey denedim aslında regex işlemini tek koşul ile yaparsam yapıyor. Baştaki + yı temizliyorum fakat 2. (00) ve 3. (01) koşulu temizlemenin mantığını çözemedim.

    Tek regex kodu ile datanın başında belirttiğim değerler var ise temizlesin istiyorum.

    Yardımcı olabilir misiniz?
  • 20-07-2020, 16:28:23
    #2
    Regex ile değilde replace ile yapın.
    Datayı nasıl alırsınız bilmiyorum.
    Aşamalar:
    1 Data da + varsa sil.
    2 Datanın ilk iki hanesi 00 ise sil.
    3 Datanın ilk iki hanesi 01 ise sil.
    4 İlk iki hanesine bakarken sonraki 3,4 e de bakabilirsiniz.
    Bunları döngüye sokarsaniz siler. Replace kullanacaksınız.
  • 20-07-2020, 16:39:43
    #3
    mustafaz adlı üyeden alıntı: mesajı görüntüle
    Regex ile değilde replace ile yapın.
    Datayı nasıl alırsınız bilmiyorum.
    Aşamalar:
    1 Data da + varsa sil.
    2 Datanın ilk iki hanesi 00 ise sil.
    3 Datanın ilk iki hanesi 01 ise sil.
    4 İlk iki hanesine bakarken sonraki 3,4 e de bakabilirsiniz.
    Bunları döngüye sokarsaniz siler. Replace kullanacaksınız.
    Cevabınız için teşekkür ederim.

    regex ile daha pratik işlemler yapılabiliyor. php replace ile biraz kalabalık oluyor.
    Çözümünü buldum aslında. Sorumda biraz çözüme göre mantıksızmış zaten : )

    Benim gibi yeni başlayan arkadaşlar için çözümü koyayım buraya.

    /(^[+])|(^00)|(^01)/
  • 20-07-2020, 19:39:16
    #4
    Pratikliğine bakmayın regex daha yavaş olabilir. Veriden bir şey silmek daha mantıklı. Data nin nerede olduğuna da bakmak gerekiyor elinizde direk bu telefon numarası yoksa regex ile secmek daha mantıklı tabi.