⊗pyPmREInr 33 of 129 menu

Uvod u regularne izraze u Pythonu

Regularni izrazi su komande za komplikovano traženje i zamenu (ili samo traženje). Oni omogućavaju da se urade veoma zanimljive stvari, ali su, nažalost, prilično teški za savladavanje.

Da bismo započeli rad sa regularnim izrazima u Pythonu, potrebno je da importujemo specijalni modul re:

import re

Modul re uključuje metode, namenjene za rad sa regularnim izrazima. Regularni izraz predstavlja skup komandi i sastoji se od dve vrste simbola: od onih koji označavaju sami sebe i od simbola-komandi, koji se zovu specijalni simboli.

Upoznavanje sa regularnim izrazima je bolje započeti na primeru metode sub, koja se koristi za zamene u stringu. Prvim parametrom metod prihvata šta zameniti, drugim - čime zameniti. U trećem parametru navodimo string u kojem treba izvršiti zamenu. U četvrtom opcionom parametru zadajemo broj zamena. Najjednostavnija zamena uz pomoć ovog metoda će izgledati ovako:

res = re.sub('a', '!', 'bab') print(res) # ispisuje 'b!b'

Kao što ste primetili, u regularnom izrazu slova označavaju sama sebe. Isto se odnosi i na cifre. Hajde da zamenimo cifru 2 sa !:

res = re.sub('2', '!', '12abc3') print(res) # ispisuje '1!abc3'

A tačka je specijalni simbol i označava bilo koji simbol. U sledećem primeru hajde da nađemo podstring po takvom šablonu: slovo 'x', zatim bilo koji simbol, zatim opet slovo 'x':

res = re.sub('x.x', '!', 'xax eee') print(res) # ispisuje '! eee'

Dat je string:

txt = 'ahb acb aeb aeeb adcb axeb'

Napišite regularni izraz koji će naći stringove 'ahb', 'acb', 'aeb' po šablonu: slovo 'a', bilo koji simbol, slovo 'b'.

Dat je string:

txt = 'aba aca aea abba adca abea'

Napišite regularni izraz koji će naći stringove 'abba', 'adca', 'abea' po šablonu: slovo 'a', 2 bilo koja simbola, slovo 'a'.

Dat je string:

txt = 'aba aca aea abba adca abea'

Napišite regularni izraz koji će naći stringove 'abba' i 'abea', a da ne uhvati 'adca'.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij