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 | Intermediære Regulære Udtryk
Python Regulære Udtryk

Gruppering, Kvantifikatorer og Ankre

Stryg for at vise menuen

Forståelse af, hvordan man grupperer dele af et mønster, angiver antallet af gentagelser og definerer, hvor et match skal forekomme i en streng, er essentielle færdigheder til at skrive effektive regulære udtryk. I Python bruges parenteser () til at oprette grupper, hvilket gør det muligt at behandle flere tegn som en enkelt enhed. Kvantifikatorer som *, +, ? og {n,m} styrer, hvor mange gange et tegn eller en gruppe skal forekomme. Ankre såsom ^ og $ er specialtegn, der matcher henholdsvis starten eller slutningen af en streng.

Gruppering med parenteser

Gruppering med parenteser gør det muligt at anvende kvantifikatorer på hele delmønstre i stedet for enkelte tegn. For eksempel matcher (ab)+ en eller flere gentagelser af sekvensen ab.

Kvantifikatorer

  • Stjerne (*) betyder "nul eller flere gange";
  • Plustegn (+) betyder "en eller flere gange";
  • Spørgsmålstegn (?) betyder "nul eller én gang";
  • Krøllede parenteser ({n,m}) angiver et minimum (n) og maksimum (m) antal gange.

Ankre

Ankre er ikke tegn, der matches, men markører for positioner i strengen. Hatte (^) angiver starten, mens dollartegn ($) angiver slutningen af en streng.

1234567
import re text = "hello hello world world world" pattern = r"(world\s+)+" matches = re.findall(pattern, text) print(matches)

Trinvis analyse: Gruppering og kvantifikatorer

I dette eksempel bruges det regulære udtryksmønster (world\s+)+ til at finde gentagne forekomster af ordet world efterfulgt af mellemrum. Lad os gennemgå, hvordan dette mønster fungerer:

  • Parenteserne () opretter en gruppe omkring world\s+, så ordet world og det efterfølgende mellemrum behandles som en enkelt enhed;
  • Plustegnet +-kvantifikatoren direkte efter gruppen betyder, at denne gruppe skal forekomme en eller flere gange i træk;
  • Som resultat matcher mønsteret enhver sekvens, hvor world gentages med mellemrum imellem, og fanger den længste sådan sekvens.

Gruppering er især nyttigt, når du vil anvende kvantifikatorer på en tegnsekvens eller fange dele af et match til senere brug. Kvantifikatorer kan anvendes på enkelte tegn, tegnklasser eller hele grupper. Ved at bruge ankre sammen med disse mønstre kan du yderligere styre, hvor dine matches forekommer, for eksempel kun at matche et gentaget ord i starten eller slutningen af en streng.

question mark

Hvad matcher regex-mønstret (ab)+?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 2. Kapitel 1
some-alt