Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Gruppering, Kvantifikatorer og Ankre | Intermediate Regular Expressions
Python Regulære Uttrykk

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.

1234567
import 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 rundt world\s+, slik at ordet world og 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 world gjentas 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.

question mark

Hva matcher regex-mønsteret (ab)+?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 1

Spør AI

expand

Spør AI

ChatGPT

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.

1234567
import 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 rundt world\s+, slik at ordet world og 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 world gjentas 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.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 1
some-alt