Gruppering, Kvantifikatorer og Ankre
Sveip for å vise menyen
Å forstå hvordan man grupperer deler av et mønster, angir antall repetisjoner og definerer hvor et treff skal forekomme i en streng, er essensielle ferdigheter for å skrive kraftige regulære uttrykk. I Python bruker du parenteser () for å lage grupper, som lar deg behandle flere tegn som én enhet. Kvantifikatorer som *, +, ? og {n,m} styrer hvor mange ganger et tegn eller en gruppe skal forekomme. Ankere som ^ og $ er spesialsymboler som matcher starten eller slutten av en streng, henholdsvis.
Gruppering med parenteser
Gruppering med parenteser gjør det mulig å bruke kvantifikatorer på hele delmønstre i stedet for individuelle tegn. For eksempel matcher (ab)+ én eller flere repetisjoner av sekvensen ab.
Kvantifikatorer
- Stjerne (
*) betyr "null eller flere ganger"; - Pluss-tegn (
+) betyr "én eller flere ganger"; - Spørsmålstegn (
?) betyr "null eller én gang"; - Krøllparenteser (
{n,m}) angir et minimum (n) og maksimum (m) antall ganger.
Ankere
Ankere er ikke tegn som skal matches, men markører for posisjoner i strengen. Hatt (^) markerer starten, mens dollartegn ($) markerer slutten av en streng.
1234567import re text = "hello hello world world world" pattern = r"(world\s+)+" matches = re.findall(pattern, text) print(matches)
Trinnvis analyse: Gruppering og kvantifikatorer
I dette eksemplet brukes det regulære uttrykksmønsteret (world\s+)+ for å finne gjentatte forekomster av ordet world etterfulgt av mellomrom. La oss se nærmere på hvordan dette mønsteret fungerer:
- Parentesene
()lager en gruppe rundtworld\s+, slik at ordetworldog det påfølgende mellomrommet behandles som én enhet; - Pluss-tegnet
+-kvantifikatoren rett etter gruppen betyr at denne gruppen må forekomme én eller flere ganger på rad; - Som et resultat matcher mønsteret hver sekvens der
worldgjentas med mellomrom imellom, og fanger opp den lengste slike sekvensen.
Gruppering er spesielt nyttig når du vil bruke kvantifikatorer på en tegnsekvens eller fange deler av et treff for senere bruk. Kvantifikatorer kan brukes på enkelttegn, tegnklasser eller hele grupper. Ved å bruke ankere sammen med disse mønstrene kan du ytterligere kontrollere hvor treffene forekommer, for eksempel å matche et gjentatt ord kun i starten eller slutten av en streng.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Gruppering, Kvantifikatorer og Ankre
Å forstå hvordan man grupperer deler av et mønster, angir antall repetisjoner og definerer hvor et treff skal forekomme i en streng, er essensielle ferdigheter for å skrive kraftige regulære uttrykk. I Python bruker du parenteser () for å lage grupper, som lar deg behandle flere tegn som én enhet. Kvantifikatorer som *, +, ? og {n,m} styrer hvor mange ganger et tegn eller en gruppe skal forekomme. Ankere som ^ og $ er spesialsymboler som matcher starten eller slutten av en streng, henholdsvis.
Gruppering med parenteser
Gruppering med parenteser gjør det mulig å bruke kvantifikatorer på hele delmønstre i stedet for individuelle tegn. For eksempel matcher (ab)+ én eller flere repetisjoner av sekvensen ab.
Kvantifikatorer
- Stjerne (
*) betyr "null eller flere ganger"; - Pluss-tegn (
+) betyr "én eller flere ganger"; - Spørsmålstegn (
?) betyr "null eller én gang"; - Krøllparenteser (
{n,m}) angir et minimum (n) og maksimum (m) antall ganger.
Ankere
Ankere er ikke tegn som skal matches, men markører for posisjoner i strengen. Hatt (^) markerer starten, mens dollartegn ($) markerer slutten av en streng.
1234567import re text = "hello hello world world world" pattern = r"(world\s+)+" matches = re.findall(pattern, text) print(matches)
Trinnvis analyse: Gruppering og kvantifikatorer
I dette eksemplet brukes det regulære uttrykksmønsteret (world\s+)+ for å finne gjentatte forekomster av ordet world etterfulgt av mellomrom. La oss se nærmere på hvordan dette mønsteret fungerer:
- Parentesene
()lager en gruppe rundtworld\s+, slik at ordetworldog det påfølgende mellomrommet behandles som én enhet; - Pluss-tegnet
+-kvantifikatoren rett etter gruppen betyr at denne gruppen må forekomme én eller flere ganger på rad; - Som et resultat matcher mønsteret hver sekvens der
worldgjentas med mellomrom imellom, og fanger opp den lengste slike sekvensen.
Gruppering er spesielt nyttig når du vil bruke kvantifikatorer på en tegnsekvens eller fange deler av et treff for senere bruk. Kvantifikatorer kan brukes på enkelttegn, tegnklasser eller hele grupper. Ved å bruke ankere sammen med disse mønstrene kan du ytterligere kontrollere hvor treffene forekommer, for eksempel å matche et gjentatt ord kun i starten eller slutten av en streng.
Takk for tilbakemeldingene dine!