⊗pyPmRESF 73 of 129 menu

Zastave za nize regularnih izrazov v Pythonu

Za nastavitev zastav kot enega od neobveznih parametrov za metode, ki delujejo z regularnimi izrazi, uporabimo naslednjo sintakso:

flags=re.ime zastave

Osnovne zastave za delo z regularnimi izrazi

Zastava Namen
re.IGNORECASE Ignoriranje velikosti črk.
re.DOTALL Pika predstavlja kateri koli znak, vključno z prelomom vrstice.
re.I Naredi iskanje neobčutljivo na velikost črk.
re.L Išče besede v skladu s trenutnim jezikom. Ta interpretacija vpliva na abecedno skupino (\w in \W), kot tudi na obnašanje meje besede (\b in \B).
re.M Znak $ izvede iskanje na koncu katere koli vrstice besedila (ne le konca besedila) in znak ^ izvede iskanje na začetku katere koli vrstice besedila (ne le na začetku besedila).
re.S Spremeni vrednost pike (.) na ujemanje s katerim koli znakom, vključno z novo vrstico.
re.U Interpretira črke v skladu z nizom znakov Unicode. Ta zastava vpliva na obnašanje \w, \W, \b, \B. V Pythonu 3+ je ta zastava nastavljena privzeto.
re.X Dovoli večvrstično sintakso regularnega izraza. Ignorira presledke znotraj vzorca (razen presledkov znotraj nabora [] ali pri ekraniranju z obratno poševnico) in obravnava ne ekraniran '#' kot komentar.

Primer

Z zastavo re.IGNORECASE lahko ignoriramo velikost črk. Poglejmo, kako se to naredi. V tem primeru bo regularni izraz našel le male črke:

txt = 'aaa bbb CCC DDD' res = re.sub('[a-z]+', '!', txt) print(res)

Rezultat izvajanja kode:

'! ! CCC DDD'

Primer

In zdaj dodajmo v četrti parameter metode zastavo re.IGNORECASE in regularni izraz bo začel iskati znake v vseh velikostih črk:

txt = 'aaa AAA bbb BBB' res = re.sub('[a-z]+', '!', txt, flags=re.IGNORECASE) print(res)

Rezultat izvajanja kode:

'! ! ! !'

Primer

Poiščimo z regularnim izrazom vse prelome vrstic:

txt = '''aaa bbb''' res = re.sub('\n', '!', txt) print(res)

Rezultat izvedene kode:

'aaa!bbb'

Primer

Toda, če želimo zamenjati res vse znake, potem z uporabo pike v regularnem izrazu ne bomo zajeli prelomov vrstic:

txt = '''aaa bbb''' res = re.sub('.', '!', txt) print(res)

Rezultat izvedene kode:

'!!! !!!'

Primer

Za popravilo te napake je treba uporabiti zastavo re.DOTALL:

res = re.sub('.', '!', txt, flags=re.DOTALL) print(res)

Rezultat izvedene kode:

'!!!!!!!'

Primer

V parametru lahko posredujemo tudi več zastav, tako da med njimi postavimo operator +. Najprej zamenjajmo črko 'a' na koncu vrstice:

txt = ''' aaa AAA aaa''' res = re.sub('aaa , '!', txt) print(res)

Rezultat izvedene kode:

''' aaa AAA ! '''

Primer

Zdaj pa postavimo zastavo re.M:

res = re.sub('aaa , '!', txt, flags=re.M) print(res)

Rezultat izvedene kode:

''' ! AAA ! '''

Primer

Zdaj pa uporabimo še zastavo za ignoriranje velikosti črk:

res = re.sub('aaa , '!', txt, flags=re.M+re.IGNORECASE) print(res)

Rezultat izvedene kode:

''' ! ! ! '''
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni