Python'da Düzenli İfadelerde Küme Parantezleri

'+', '*', '?' operatörleri kullanışlıdır, ancak belirli bir tekrar sayısı belirtmek için kullanılamazlar. Bu durumda {} operatörü imdadınıza yetişecektir.

Şu şekilde çalışır: {5} - beş tekrar, {2,5} – iki ile beş arasında tekrar (ikisi de dahil), {2,} - iki veya daha fazla tekrar. Örneklere bakın:

Örnek

Bu örnekte arama kalıbı şu şekildedir: 'x' harfi, 'a' harfi bir veya iki kez, 'x' harfi:

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{1,2}x', '!', txt)

print(res)

Kodun çalıştırılmasının sonucu:

python'xx ! ! xaaax'

Örnek

Bu örnekte arama kalıbı şu şekildedir: 'x' harfi, 'a' harfi iki kez veya daha fazla, 'x' harfi:

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{2,}x', '!', txt)

print(res)

Kodun çalıştırılmasının sonucu:

python'xx xax ! !'

Örnek

Bu örnekte arama kalıbı şu şekildedir: 'x' harfi, 'a' harfi üç kez, 'x' harfi:

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{3}x', '!', txt)

print(res)

Kodun çalıştırılmasının sonucu:

python'xx xax xaax !'

Örnek

Bu örnekte arama kalıbı şu şekildedir: 'a' harfi on kez:

pythontxt = 'aaa aaaaaaaaaa aaa'
res = re.sub('a{10}', '!', txt)

print(res)

Kodun çalıştırılmasının sonucu:

python'aaa ! aaa'

Örnek

Bu örnekte şu kalıp bulunmaktadır: 'x' harfi, 'a' harfi üç kez veya daha az, 'x' harfi. Bunu gerçekleştirmek için, 3 rakamının önüne bir sayı belirtmeyip sadece virgül koyabilirsiniz:

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{,3}x', '!', txt)

print(res)

Kodun çalıştırılmasının sonucu:

python'! ! ! !'

Örnek

3 önündeki sıfır da kabul edilir:

pythontxt = 'xx xax xaax xaaax'
res = re.sub('xa{0,3}x', '!', txt)

print(res)

Kodun çalıştırılmasının sonucu:

python'! ! ! !'

Pratik Görevler

Задание 1

Bir dize verildi:

pythontxt = 'aa aba abba abbba abbbba abbbbba'

'abba', 'abbba', 'abbbba' dizelerini ve sadece onları bulan bir düzenli ifade yazın.

Задание 2

Bir dize verildi:

pythontxt = 'aa aba abba abbba abbbba abbbbba'

'aba' şeklinde, içinde 'b' harfinin 3-ten (dahil) az bulunduğu dizeleri bulan bir düzenli ifade yazın.

Задание 3

Bir dize verildi:

pythontxt = 'aa aba abba abbba abbbba abbbbba'

'aba' şeklinde, içinde 'b' harfinin 4-ten (dahil) fazla bulunduğu dizeleri bulan bir düzenli ifade yazın.