Karakter Tekrarlama Operatörleri

Bir karakterin belirli sayıda tekrarlandığını belirtmenin gerektiği durumlar olur. Eğer tam tekrar sayısı bilinmiyorsa, basitçe birkaç kez yazılabilir - 'aaaa'. Peki şöyle bir şey demek gerekiyorsa ne yapmalı: bir veya daha fazla kez tekrarla?

Bunun için tekrarlama operatörleri (niceleyiciler) vardır: artı + (bir veya daha fazla kez), yıldız * (sıfır veya daha fazla kez) ve soru işareti ? (sıfır veya bir kez). Bu operatörler kendilerinden önce gelen karaktere etki eder.

Bu operatörlerin çalışmasını örneklerle inceleyelim.

Örnek

Şu kalıba göre tüm alt dizileri bulalım: harf 'x', 'a' harfi bir veya daha fazla kez, 'x' harfi:

pythontxt = 'xx xax xaax xaaax xbx'
res = re.sub('xa+x', '!', txt)

print(res)

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

python'xx ! ! ! xbx'

Örnek

Şu kalıba göre tüm alt dizileri bulalım: harf 'x', 'a' harfi sıfır veya daha fazla kez, 'x' harfi:

pythontxt = 'xx xax xaax xaaax xbx'
res = re.sub('xa*x', '!', txt)

print(res)

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

python'! ! ! ! xbx'

Örnek

Şu kalıba göre tüm alt dizileri bulalım: harf 'x', 'a' harfi sıfır veya bir kez, 'x' harfi:

pythontxt = 'xx xax xaax xbx'
res = re.sub('xa?x', '!', txt)

print(res)

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

python'! ! xaax xbx'

Pratik Görevler

Задание 1

Bir dize verildi:

pythontxt = 'aa aba abba abbba abca abea'

Şu kalıba göre 'aba', 'abba', 'abbba' dizilerini bulacak bir düzenli ifade yazın: 'a' harfi, 'b' harfi herhangi bir sayıda, 'a' harfi.

Задание 2

Bir dize verildi:

pythontxt = 'aa aba abba abbba abca abea'

Şu kalıba göre 'aa', 'aba', 'abba', 'abbba' dizilerini bulacak bir düzenli ifade yazın: 'a' harfi, 'b' harfi herhangi bir sayıda (hiç olmaması da dahil), 'a' harfi.

Задание 3

Bir dize verildi:

pythontxt = 'aa aba abba abbba abca abea'

Şu kalıba göre 'aa', 'aba' dizilerini bulacak bir düzenli ifade yazın: 'a' harfi, 'b' harfi bir kez veya hiç, 'a' harfi.

Задание 4

Bir dize verildi:

pythontxt = 'aa aba abba abbba abca abea'

'abca' ve 'abea''yı yakalamadan, 'aa', 'aba', 'abba', 'abbba' dizilerini bulacak bir düzenli ifade yazın.