⊗pyPmREHHy 47 of 129 menu

Vijëza brenda grupeve në shprehjet e rregullta të Python

Vijëza - është gjithashtu një karakter special brenda [ ] (por jashtë - jo). Nëse keni nevojë për vijëzën vetë si karakter - atëherë vendoseni atje, ku ajo nuk do të perceptohet si ndarës i grupit.

Pse kjo është e rëndësishme: ju mund të bëni një grup karakteresh, pa e vënë re vetë. Për shembull, kështu - '[:-@]' - ju mendoni se po zgjidhni dy pika, vijëz dhe simbolin @, por në të vërtetë rezulton një grup karakteresh midis : dhe @. Në këtë grup përfshihen karakteret e mëposhtme: ? < = > :

Nga erdhën ata? Nga tabela ASCII - dy pikat kanë numër më të vogël se simboli @ - dhe kështu fitohet grupi. Domethënë të gjitha grupet fitohen sipas tabelës ASCII (nëse dëshironi kësaj mund t'i përdorni).

Si të luftohet kjo: vendosni karakterin vijëz atje, ku me siguri nuk do të perceptohet si karakter grupi, për shembull, në fillim ose në fund (domethënë pas [ ose para ]).

Mund gjithashtu të ekranizoni vijëzën - atëherë ajo do të tregojë vetveten pavarësisht nga pozita. Për shembull, në vend të [:-@] të shkruani [:\-@] - dhe grupi nuk do të jetë më, por do të ketë tre karaktere - dy pika, vijëz dhe simbolin @.

Shembull

Në shembullin vijues modeli i kërkimit është: shifra 1, pastaj shkronja nga 'a' deri në 'z', pastaj shifra 2:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[a-z]2', '!', txt) print(res)

Rezultati i ekzekutimit të kodit:

'! 1-2 ! !'

Shembull

Tani le ta ekranizojmë vijëzën. Në rezultat modeli i kërkimit është: shifra 1, pastaj shkronja 'a', ose vijëz, ose shkronja 'z', pastaj shifra 2:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[a\-z]2', '!', txt) print(res)

Rezultati i ekzekutimit të kodit:

'! ! 1c2 !'

Shembull

Mund thjesht të ndërrohet vendi i vijëzës, pa e ekranizuar atë:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[az-]2', '!', txt) print(res)

Rezultati i ekzekutimit të kodit:

'! ! 1c2 !'

Shembull

Në shembullin vijues modeli i kërkimit është: karakteri i parë - janë shkronja të vogla ose vijëz '-', pastaj dy shkronja 'x':

txt = 'axx Axx -xx @xx' res = re.sub('[a-z-]xx', '!', txt) print(res)

Rezultati i ekzekutimit të kodit:

'! Axx ! @xx'

Shembull

Në shembullin vijues modeli i kërkimit është: karakteri i parë - janë shkronja të vogla, të mëdha ose vijëz '-', pastaj dy shkronja 'x':

txt = 'axx Axx -xx @xx' res = re.sub('[a-zA-Z-]xx', '!', txt) print(res)

Rezultati i ekzekutimit të kodit:

'! ! ! @xx'

Shembull

Mund të vendoset vijëza midis dy grupeve - aty ajo me siguri nuk do të krijojë një grup tjetër:

txt = 'axx 9xx -xx @xx' res = re.sub('[a-z-0-9]xx', '!', txt) print(res)

Rezultati i ekzekutimit të kodit:

'! ! ! @xx'

Detyra praktike

Është dhënë stringu:

txt = 'xaz xBz xcz x-z x@z'

Gjeni të gjitha stringjet sipas modelit vijues: shkronja 'x', shkronjë e madhe ose e vogël ose vijëz, shkronja 'z'.

Është dhënë stringu:

txt = 'xaz x$z x-z xcz x+z x%z x*z'

Gjeni të gjitha stringjet sipas modelit vijues: shkronja 'x', pastaj ose dollar, ose vijëz ose plus, pastaj shkronja 'z'.

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