⊗pyPmREChS 40 of 129 menu

Seturi de caractere în expresiile regulate Python

Grupurile de caractere \d și \w nu foarte flexibile. Chiar și o sarcină simplă, găsiți toate literele, dar nu cifrele - nu poate fi rezolvată de ele. Pentru astfel de sarcini ar trebui utilizate paranteze pătrate, reprezentând operația 'sau'.

Parantezele pătrate înlocuiesc un singur caracter, oricare dintre cele enumerate în interior. De exemplu, așa: x[abc]x - noi spunem că pe margini trebuie să fie litere x, iar în interior - un caracter: sau 'a', sau 'b', sau 'c'.

După parantezele pătrate se pot scrie operatori de repetiție. De exemplu, așa: x[abc]+x - noi spunem că în interiorul literelor x poate fi orice număr de caractere 'a', 'b' și 'c' - în orice combinații.

Se pot nu numai enumera caracterele, dar și crea grupuri de caractere, scriind între două caractere liniuța. De exemplu, așa: [a-d] - obținem toate caracterele de la 'a' până la 'd'.

Să vedem exemple.

Exemplu

În acest exemplu, șablonul de căutare arată așa: între x orice literă de la 'a' până la 'z':

<+Python+> txt = 'xax xbx xcx x@x' res = re.sub('x[a-z]x', '!', txt) print(res) <-python->

Rezultatul executării codului:

'! ! ! x@x'

Exemplu

În acest exemplu, șablonul de căutare arată așa: între x orice literă de la 'a' până la 'k':

txt = 'xax xbx xmx x@x' res = re.sub('x[a-k]x', '!', txt) print(res)

Rezultatul executării codului:

'! ! xmx x@x'

Exemplu

În acest exemplu, șablonul de căutare arată așa: între x orice literă de la 'A' până la 'Z':

txt = 'xax xBx xcx x@x' res = re.sub('x[A-Z]x', '!', txt) print(res)

Rezultatul executării codului:

'xax ! xcx x@x'

Exemplu

În acest exemplu, șablonul de căutare arată așa: între x orice cifră de la 0 până la 9:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[0-9]x', '!', txt) print(res)

Rezultatul executării codului:

'xax ! ! ! x@x'

Exemplu

În acest exemplu, șablonul de căutare arată așa: între x orice cifră de la 3 până la 7:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[3-7]x', '!', txt) print(res)

Rezultatul executării codului:

'xax x1x ! ! x@x'

Exemplu

În acest exemplu, șablonul de căutare arată așa: între x orice literă de la 'a' până la 'z' sau cifră de la 1 până la 9:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[a-z1-9]x', '!', txt) print(res)

Rezultatul executării codului:

'! ! ! ! x@x'

Exemplu

În acest exemplu, șablonul de căutare arată așa: între x orice literă de la 'a' până la 'z' sau literă de la 'A' până la 'Z':

txt = 'xax xBx xcx x5x x@x' res = re.sub('x[a-zA-Z]x', '!', txt) print(res)

Rezultatul executării codului:

'! ! ! x5x x@x'

Exemplu

În acest exemplu, șablonul de căutare arată așa: între x orice literă de la 'a' până la 'z' sau cifrele 1, 2:

txt = 'xax xbx x1x x2x x3x' res = re.sub('x[a-z12]x', '!', txt) print(res)

Rezultatul executării codului:

'! ! ! ! x3x'

Exemplu

În acest exemplu, șablonul de căutare arată așa: între x litere de la 'a' până la 'z' în cantitate de la 1 și mai mult:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]+x', '!', txt) print(res)

Rezultatul executării codului:

'xx ! ! ! x123x xa3x'

Exemplu

Să facem astfel încât numărul de litere să poată fi și zero:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]*x', '!', txt) print(res)

În rezultat vom obține:

'! ! ! ! x123x xa3x'

Exemplu

În interiorul parantezelor pătrate se pot de asemenea specifica caractere escape-uite. Să găsim secvența de litere și cifre, repetată de zero ori sau mai mult:

txt = 'xx x@x xadx xas12x xa3x' res = re.sub('x[a-z\d]*x', '!', txt) print(res)

Rezultatul executării codului:

'! x@x ! ! !'

Exemplu

Dacă avem nevoie să specificăm alte paranteze pătrate, atunci și pe acestea cu siguranță le escape-uim:

txt = 'xx xrx xas[]x x3x' res = re.sub('x[a-z\[\]]*x', '!', txt) print(res)

Rezultatul executării codului:

'! ! ! x3x'

Probleme practice

Este dat șirul:

txt = 'aba aea aca aza axa'

Scrieți o expresie regulată, care va găsi după următorul șablon: pe margini stau literele 'a', iar între ele - litera 'b', 'e' sau 'x'.

Este dat șirul:

txt = 'a1a a3a a7a a9a aba'

Scrieți o expresie regulată, care va găsi după următorul șablon: pe margini stau literele 'a', iar între ele - cifră de la 3 până la 6.

Este dat șirul:

txt = 'aba aea afa aha aga'

Scrieți o expresie regulată, care va găsi după următorul șablon: pe margini stau literele 'a', iar între ele - literă de la 'a' până la 'g'.

Este dat șirul:

txt = 'aba aea afa aha aga'

Scrieți o expresie regulată, care va găsi după următorul șablon: pe margini stau literele 'a', iar între ele - literă de la 'a' până la 'f' și de la 'j' până la 'z'.

Este dat șirul:

txt = 'aAa aea aEa aJa a3a'

Scrieți o expresie regulată, care va găsi după următorul șablon: pe margini stau literele 'a', iar între ele - literă de la 'a' până la 'f' și de la 'A' până la 'D'.

Este dat șirul:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Scrieți o expresie regulată, care va găsi după următorul șablon: pe margini stau literele 'a', iar între ele - litere mici latine, fără a afecta celelalte.

Este dat șirul:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Scrieți o expresie regulată, care va găsi după următorul șablon: pe margini stau literele 'a', iar între ele - litere mici și mari latine, fără a afecta celelate.

Este dat șirul:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Scrieți o expresie regulată, care va găsi după următorul șablon: pe margini stau literele 'a', iar între ele - litere mici latine și cifre, fără a afecta celelate.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge