Nyşanlaryň gaýtalanmagynyň operatorlary

Nyşanyň bellenen mukdarda gaýtalanýandygyny görkezmeli bolýan ýagdaýlar hem bar. Gaýtalanyş sany anyk bolmasa, onda ony diňe birnäçe gezek ýazyp bolar - 'aaaa'. Ýöne şeýle diýilmeli bolsa näme etmeli: bir ýa-da birnäçe gezek gaýtala?

Bunun üçin gaýtalanyş operatorlary (kwantifikatorlar) bar: goşmaça + (bir ýa-da birnäçe gezek), ýyldyz * (nölden birnäçe gezek) we sorag ? (nöl ýa-da bir gezek). Bu operatorlar öňlerinde duran nyşanyň üstünde täsir edýärler.

Geliň bu operatorlaryň işini mysallarda görkezeliň.

Mysal

Nyşan 'x', nyşan 'a' bir ýa-da birnäçe gezek, nyşan 'x' şablony boýunça ähli aşak setirleri tapalyň:

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

print(res)

Koduň ýerine ýetiriliş netijesi:

python'xx ! ! ! xbx'

Mysal

Nyşan 'x', nyşan 'a' nöl ýa-da birnäçe gezek, nyşan 'x' şablony boýunça ähli aşak setirleri tapalyň:

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

print(res)

Koduň ýerine ýetiriliş netijesi:

python'! ! ! ! xbx'

Mysal

Nyşan 'x', nyşan 'a' nöl ýa-da bir gezek, nyşan 'x' şablony boýunça ähli aşak setirleri tapalyň:

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

print(res)

Koduň ýerine ýetiriliş netijesi:

python'! ! xaax xbx'

Amaly meseleler

Задание 1

Setir berlen:

pythontxt = 'aa aba abba abbba abca abea'

Nyşan 'a', nyşan 'b' islendik mukdarda, nyşan 'a' şablony boýunça 'aba', 'abba', 'abbba' setirlerini tapjak regulýar ifadäni ýazyň.

Задание 2

Setir berlen:

pythontxt = 'aa aba abba abbba abca abea'

Nyşan 'a', nyşan 'b' islendik mukdarda (hatda nöli gezekem), nyşan 'a' şablony boýunça 'aa', 'aba', 'abba', 'abbba' setirlerini tapjak regulýar ifadäni ýazyň.

Задание 3

Setir berlen:

pythontxt = 'aa aba abba abbba abca abea'

Nyşan 'a', nyşan 'b' bir gezek ýa-da hiç gezek, nyşan 'a' şablony boýunça 'aa', 'aba' setirlerini tapjak regulýar ifadäni ýazyň.

Задание 4

Setir berlen:

pythontxt = 'aa aba abba abbba abca abea'

'abca' we 'abea' setirlerini almasdan, 'aa', 'aba', 'abba', 'abbba' setirlerini tapjak regulýar ifadäni ýazyň.