⊗pyPmRESF 73 of 129 menu

Flamuj për vargjet e shprehjeve të rregullta në Python

Për të përcaktuar flamujt si një nga parametrat opsionalë për metodat që punojnë me shprehjet e rregullta, përdoret sintaksa e mëposhtme:

flags=re.emri i flamujt

Flamujt kryesorë për punë me shprehje të rregullta

Flamuj Qëllimi
re.IGNORECASE Shpërfillja e rastit të shkrimit të karaktereve.
re.DOTALL Pika shënon çdo karakter, duke përfshirë edhe kalimin në rresht të ri.
re.I E bën kërkimin të pandjeshëm ndaj rastit.
re.L Kërkon fjalë në përputhje me gjuhën aktuale. Ky interpretim prek grupin alfabetik (\w dhe \W), si dhe sjelljen e kufirit të fjalës (\b dhe \B).
re.M Karakteri $ kryen kërkim në fund të çdo rreshti të tekstit (jo vetëm në fund të tekstit) dhe karakteri ^ kryen kërkim në fillim të çdo rreshti teksti (jo vetëm në fillim të tekstit).
re.S Ndryshon kuptimin e pikës (.) në përputhje me çdo karakter, duke përfshirë rreshtin e ri.
re.U Interpreton shkronjat në përputhje me setin e karaktereve Unicode. Ky flamuj ndikon në sjelljen e \w, \W, \b, \B. Në Python 3+ ky flamuj është vendosur si parazgjedhje.
re.X Lejon sintaksë shumërreshtash të shprehjes së rregullt. Ai shpërfill hapësirat brenda modelit (përveç hapësirave brenda setit [] ose kur ekranohen me backslash) dhe trajton '#' jo të ekranuar si koment.

Shembull

Me ndihmën e flamut re.IGNORECASE mund të shpërfillni rastin e karaktereve. Le të shohim se si bëhet kjo. Në këtë shembull shprehja e rregullt do të gjejë vetëm shkronjat e vogla:

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

Rezultati i ekzekutimit të kodit:

'! ! CCC DDD'

Shembull

Tani le të shtojmë në parametrin e katërt të metodës flamun re.IGNORECASE dhe shprehja e rregullt do të fillojë të kërkojë karaktere në të gjitha rastet:

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

Rezultati i ekzekutimit të kodit:

'! ! ! !'

Shembull

Le të gjejmë me shprehje të rregullt të gjitha kalimet në rresht të ri:

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

Rezultati i kodit të ekzekutuar:

'aaa!bbb'

Shembull

Por, nëse duhet të zëvendësohen të gjithë karakteret, atëherë duke vendosur pikë në shprehjen e rregullt, nuk do të kapen kalimet e rreshtave:

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

Rezultati i kodit të ekzekutuar:

'!!! !!!'

Shembull

Për të korrigjuar këtë gabim, duhet të aplikoni flamun re.DOTALL:

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

Rezultati i kodit të ekzekutuar:

'!!!!!!!'

Shembull

Në parametër mund të kalohen edhe disa flamuj, duke vendosur mes tyre operatorin +. Le të zëvendësojmë fillimisht shkronjën 'a' në fund të rreshtit:

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

Rezultati i kodit të ekzekutuar:

''' aaa AAA ! '''

Shembull

Tani le të vendosim flamun re.M:

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

Rezultati i kodit të ekzekutuar:

''' ! AAA ! '''

Shembull

Tani le të aplikojmë edhe flamun për shpërfilljen e rastit:

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

Rezultati i kodit të ekzekutuar:

''' ! ! ! '''
Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo