Değişkenlerin arasını bulmak

Merhabalar başlıktan da anlaşıldığı üzere ben değişkenlerdeki iki karakterin arasındaki değeri bulmak istiyorum şimdi durum şu:
Benim bir girdim var

ip->123.456.7.890:1234
         ^         ^
 bu ikisi değişebiliyor o yüzden ne yapacağımı bilemedim

ben “>” karakteri ile “:” karakteri ve ayrıca “:” karakteri ile satır sonu arasındaki sayıları öğrenmek istiyorum

Düzenli ifadeleri kullanabilirsiniz:

import re

deger = re.search("->(.+):(.+)","ip->123.456.7.890:1234")
deger[0] # => ->123.456.7.890:1234
deger[1] # => 123.456.7.890
deger[2] # => 1234

ip->123.456.7.890:1234
         ^         ^
In [2]: s = "ip->123.456.7.890:1234"
   ...: print(s[5:11])
23.456
1 Beğeni

Cikti parse ederken hemen her zaman fullmatch (veya ^…$) kullanmak lazim, beklenmedik ciktiyi yanlis parse etmektense etmemek daha iyi.

3 Beğeni

kodunuzun mantığını açıklar mısınız acaba kullanımı bilmezsem başka yerlerde kullanamam

İlk olarak kütüphaneyi import ediyoruz:
import re

Sonra deger adlı bir değişkene az önce import ettiğimiz kütüphanede bulunan .match() metodu ile düzenli ifade taraması yapıyoruz:
deger = re.match("ip->(.+):(.+)","ip->123.456.7.890:1234")

Sonra deger ismindeki değişkenin sıfırıncı indeksine erişiyoruz. Bu index girilen veriyi gösteriyor:
print(deger[0]) # => ip->123.456.7.890:1234

Birinci indeksi ise ip numarası oluyor:
print(deger[1]) # => 123.456.7.890

İkinci indeksi ise port numarası oluyor:
print(deger[2]) # => 1234

Yine de anlayamazsanız şuradan dökümanları okuyabilirsiniz: