⊗pyPmREHHy 47 of 129 menu

Python Düzenli İfadelerde Setler İçinde Tire

Tire, [ ] içinde özel bir karakterdir (dışında ise değildir). Tireyi bir karakter olarak kullanmak istiyorsanız, onu bir grup ayırıcısı olarak algılanmayacağı yere koyun.

Bunun önemi: Farkında olmadan bir karakter grubu oluşturabilirsiniz. Örneğin, '[:-@]' - siz iki nokta üst üste, tire ve et işaretini seçtiğinizi düşünürsünüz, ancak aslında : ve @ arasındaki karakter grubu oluşur. Bu gruba şu karakterler girer: ? < = > :

Bunlar nereden geliyor? ASCII tablosundan - iki nokta üst üstenin numarası, et işaretininkinden küçüktür - ve bir grup oluşur. Yani tüm gruplar ASCII tablosuna göre oluşur (isterseniz bundan faydalanabilirsiniz).

Bununla nasıl başa çıkılır: Tire karakterini, kesinlikle bir grup karakteri olarak algılanmayacağı yere koyun, örneğin başta veya sonda (yani ['den sonra veya ]'den önce).

Tireyi kaçırarak da (escape) kullanabilirsiniz - bu durumda konumu ne olursa olsun kendisini temsil eder. Örneğin, [:-@] yerine [:\-@] yazın - ve artık bir grup olmayacak, üç karakter olacak: iki nokta üst üste, tire ve et işareti @.

Örnek

Aşağıdaki örnekte arama kalıbı şudur: 1 rakamı, sonra 'a' ile 'z' arasında bir harf, sonra 2 rakamı:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[a-z]2', '!', txt) print(res)

Kodun çalıştırılma sonucu:

'! 1-2 ! !'

Örnek

Şimdi tireyi kaçıralım. Sonuçta arama kalıbı şudur: 1 rakamı, sonra 'a' harfi, veya tire, veya 'z' harfi, sonra 2 rakamı:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[a\-z]2', '!', txt) print(res)

Kodun çalıştırılma sonucu:

'! ! 1c2 !'

Örnek

Tireyi kaçırmadan, sadece yerini değiştirebilirsiniz:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[az-]2', '!', txt) print(res)

Kodun çalıştırılma sonucu:

'! ! 1c2 !'

Örnek

Aşağıdaki örnekte arama kalıbı şudur: ilk karakter küçük harfler veya tire '-', sonra iki tane 'x' harfi:

txt = 'axx Axx -xx @xx' res = re.sub('[a-z-]xx', '!', txt) print(res)

Kodun çalıştırılma sonucu:

'! Axx ! @xx'

Örnek

Aşağıdaki örnekte arama kalıbı şudur: ilk karakter küçük harfler, büyük harfler veya tire '-', sonra iki tane 'x' harfi:

txt = 'axx Axx -xx @xx' res = re.sub('[a-zA-Z-]xx', '!', txt) print(res)

Kodun çalıştırılma sonucu:

'! ! ! @xx'

Örnek

Tireyi iki grubun arasına yerleştirebilirsiniz - orada kesinlikle başka bir grup oluşturmayacaktır:

txt = 'axx 9xx -xx @xx' res = re.sub('[a-z-0-9]xx', '!', txt) print(res)

Kodun çalıştırılma sonucu:

'! ! ! @xx'

Pratik Görevler

Bir string verildi:

txt = 'xaz xBz xcz x-z x@z'

Şu kalıba uyan tüm stringleri bulun: 'x' harfi, büyük veya küçük harf veya tire, 'z' harfi.

Bir string verildi:

txt = 'xaz x$z x-z xcz x+z x%z x*z'

Şu kalıba uyan tüm stringleri bulun: 'x' harfi, sonra dolar işareti, veya tire veya artı işareti, sonra 'z' harfi.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet