⊗pyPmREMSP 58 of 129 menu

Grupuri de captură în șirul de înlocuire în Python

Când lucrați cu metoda sub, dacă trebuie să capturați ceva în expresia regulată, în șirul de înlocuire puteți insera conținutul acelui grup de captură scriind backslash dublu \ și numărul grupului. De exemplu, \1 - primul grup de captură, \2 - al doilea grup de captură și așa mai departe.

Pentru ce este util și cum să folosiți acest lucru să vedem pe exemple.

Exemplu

Să găsim toate numerele și în locul lor să inserăm aceleași numere, dar între paranteze rotunde. Pentru asta toate numerele găsite le vom înlocui cu ele însele, dar între paranteze:

txt = '1 23 456 xax' res = re.sub('(\d+)', '(\1)', txt) print(res)

Ca rezultat în variabilă se va scrie următorul text:

'(1) (23) (456) xax'

Exemplu

Să găsim toate șirurile care reprezintă numere înconjurate de 'x' și să înlocuim aceste numere cu ele însele, dar înconjurate de semnele '!':

txt = 'x1x x23x x456x xax' res = re.sub('x(\d+)x', '!\1!', txt) print(res)

Ca rezultat în variabilă se va scrie următorul text:

'!1! !23! !456! xax'

Exemplu

Să rezolvăm următoarea problemă: este dat șirul 'aaa@bbb ccc@ddd' - litere, apoi simbolul @, apoi litere. Trebuie să schimbăm locurile literelor în subșirul 'aaa@bbb' dinainte de '@' și după:

txt = 'aaa@bbb ccc@ddd' res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt) print(res)

Ca rezultat în variabilă se va scrie următorul text:

'bbb@aaa ccc@ddd'

Probleme practice

Este dat șirul:

txt = '12 34 56 78'

Schimbați locurile cifrelor în toate numerele din două cifre.

Este dat șirul cu data:

txt = '31.12.2025'

Transformați această dată în '2025.12.31'.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge