⊗pyPmREHHy 47 of 129 menu

Crtica unutar skupova u Python regularnim izrazima

Crtica je takođe specijalni karakter unutar [ ] (ali izvan - nije). Ako vam treba sama crtica kao simbol - stavite je tamo, gde neće biti shvaćena kao razdvajač grupe.

Zašto je ovo važno: možete napraviti grupu simbola, a da to i ne primetite. Na primer, ovako - '[:-@]' - mislite da biramo dvotačku, crticu i znak @, a zapravo se dobija grupa simbola između : i @. U ovu grupu ulaze sledeći simboli: ? < = > :

Odakle oni dolaze? Iz ASCII tabele - dvotačka ima manji broj od znaka @ - i dobija se grupa. Odnosno sve grupe se dobijaju prema ASCII tabeli (po želji, ovim se može koristiti).

Kako se boriti sa ovim: stavite simbol crticu tamo gde sigurno neće biti shvaćena kao simbol grupe, na primer, na početku ili na kraju (odnosno posle [ ili pre ]).

Možete takođe da ekranizujete crticu - tada će ona označavati samu sebe bez obzira na poziciju. Na primer, umesto [:-@] napisati [:\-@] - i grupe već neće biti, a biće tri simbola - dvotačka, crtica i znak @.

Primer

U sledećem primeru šablon pretrage je: cifra 1, zatim slovo od 'a' do 'z', zatim cifra 2:

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

Rezultat izvršavanja koda:

'! 1-2 ! !'

Primer

Hajde sada da ekranizujemo crticu. Kao rezultat, šablon pretrage je: cifra 1, zatim slovo 'a', ili crtica, ili slovo 'z', zatim cifra 2:

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

Rezultat izvršavanja koda:

'! ! 1c2 !'

Primer

Možete jednostavno da promenite mesto crtici, ne ekranizujući je:

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

Rezultat izvršavanja koda:

'! ! 1c2 !'

Primer

U sledećem primeru šablon pretrage je: prvi simbol - to su mala slova ili crtica '-', zatim dva slova 'x':

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

Rezultat izvršavanja koda:

'! Axx ! @xx'

Primer

U sledećem primeru šablon pretrage je: prvi simbol - to su mala, velika slova ili crtica '-', zatim dva slova 'x':

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

Rezultat izvršavanja koda:

'! ! ! @xx'

Primer

Možete smestiti crticu između dve grupe - tamo sigurno neće napraviti još jednu grupu:

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

Rezultat izvršavanja koda:

'! ! ! @xx'

Praktični zadaci

Data je string:

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

Pronađite sve stringove prema sledećem šablonu: slovo 'x', veliko ili malo slovo ili crtica, slovo 'z'.

Data je string:

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

Pronađite sve stringove prema sledećem šablonu: slovo 'x', zatim ili dolar, ili crtica ili plus, zatim slovo 'z'.

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