Grupuojantys skliaustai Python reguliariosiose išraiškose
Ankstesniuose pavyzdžiuose kartojimo operatoriai veikė tik vieną simbolį, kuris stovėjo priešais juos. Ką daryti, jei reikia kad jie veiktų kelis simbolius?
Tam yra sukurti grupuojantys skliaustai
'(' ir . Jie veikia taip:
jei kas nors yra grupuojančiuose skliaustuose
ir iškart po ')'')' yra kartojimo
operatorius - jis paveiks viską, kas
yra skliaustų viduje.
Kitame pavyzdyje paieškos šablonas atrodo
taip: raidė 'x', tada eilutė
'ab' vieną ar daugiau kartų, tada raidė
'x':
txt = 'xabx xababx xaabbx'
res = re.sub('x(ab)+x', '!', txt)
print(res)
Kodo vykdymo rezultatas:
'! ! xaabbx'
Duota eilutė:
txt = 'ab abab abab abababab abea'
Parašykite reguliariąją išraišką, kuri ras eilutes
pagal šabloną: eilutė 'ab' kartojasi
1 ar daugiau kartų.