Capture groups, backreferences og substitution
Brug parenteser til at indfange dele af et match, og genbrug dem med backreferences til avanceret matchning og teksterstatning.
Capture groups, backreferences og substitution er en gratis Linux-kommandolinjen og Bash-scripting på ekspertniveau-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Linux-kommandolinjen og Bash-scripting på ekspertniveau, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Linux-kommandolinjen og Bash-scripting på ekspertniveau-kurset indeholder 4 lektioner i alt.
Hvad er opsamlingsgrupper?
Parenteser ( ) opretter en opsamlingsgruppe, som husker den tekst, den matchede, så du kan henvise til den senere.
echo "2026-05-29" | grep -E "([0-9]{4})-([0-9]{2})-([0-9]{2})"Nummerering af grupper
Grupper nummereres fra venstre mod højre efter deres åbningsparentes. Gruppe 1 er den første (, gruppe 2 den anden og så videre.
# (year)(month)(day)
# group 1 = year, 2 = month, 3 = dayTilbagereferencer i matchning
En tilbagereference som \1 matcher den SAMME tekst, som en tidligere gruppe opsamlede. Det er nyttigt til at finde dubletter.
echo "hello world world" | grep -E "(\w+) \1"Find gentagne ord
Mønstret (\w+) \1 finder et ord, der efterfølges af sig selv, hvilket er en almindelig slåfejl.
echo "the the cat sat" | grep -oE "(\w+) \1"Opsamlingsgrupper med sed
I sed-erstatninger genbruges opsamlede grupper i erstatningen som \1 og \2. Brug -E til udvidede regulære udtryk.
echo "2026-05-29" | sed -E "s|([0-9]{4})-([0-9]{2})-([0-9]{2})|\3/\2/\1|"Byt om på felter
Opsaml to felter, og omarrangér dem i erstatningen for at omdanne dataformater.
echo "Doe, John" | sed -E "s/(\w+), (\w+)/\2 \1/"Begrebet ikke-opsamlende grupper
Nogle gange grupperer du kun for at anvende en kvantor og ikke for at opsamle. I PCRE kan du skrive (?:...) for at undgå nummerering.
# PCRE only (grep -P):
echo "abcabc" | grep -P "(?:abc){2}"Alternation i grupper
Kombinér grupper med alternation | for at matche én af flere muligheder og stadig opsamle resultatet.
echo "cat dog fish" | grep -oE "(cat|dog)"Anvend en kvantor på en gruppe
Anvend kvantorer på en hel gruppe for at gentage et mønster. (ab)+ matcher én eller flere ab-sekvenser.
echo "ababab" | grep -oE "(ab)+"Opsamling i awk
awk bruger match() sammen med RSTART og RLENGTH til at udtrække den matchede del.
echo "id=42" | awk "{ if (match(\$0, /id=[0-9]+/)) print substr(\$0, RSTART, RLENGTH) }"Praktisk omformatering
Opsamlingsgrupper er særligt nyttige, når du omformaterer logge eller CSV-kolonner til et nyt layout i én gennemgang.
echo "John,30,NYC" | sed -E "s/([^,]+),([^,]+),([^,]+)/Name: \1 Age: \2 City: \3/"Hurtig kontrol
Test din viden om opsamlingsgrupper.
Opsamling
Du har fået styr på opsamlingsgrupper:
- Parenteser opsamler og nummererer matchet tekst
- Tilbagereferencer som
\1matcher den samme tekst igen - I
sedkan du genbruge grupper i erstatninger for at omarrangere felter - Anvend kvantorer og alternation i grupper for at skabe fleksible mønstre
Lær Bash med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 22
- Lektioner
- 88
Ofte stillede spørgsmål
Er lektionen “Capture groups, backreferences og substitution” gratis?
Ja — hele teksten til “Capture groups, backreferences og substitution” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Linux-kommandolinjen og Bash-scripting på ekspertniveau-kurset, skal du opgradere til CoddyKit PRO. Linux-kommandolinjen og Bash-scripting på ekspertniveau-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Capture groups, backreferences og substitution”?
Brug parenteser til at indfange dele af et match, og genbrug dem med backreferences til avanceret matchning og teksterstatning. Du øver dig i Linux-kommandolinjen og Bash-scripting på ekspertniveau med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Linux-kommandolinjen og Bash-scripting på ekspertniveau?
Der kræves ingen tidligere erfaring. Linux-kommandolinjen og Bash-scripting på ekspertniveau på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Capture groups, backreferences og substitution”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Linux-kommandolinjen og Bash-scripting på ekspertniveau-lektion?
Ja. Alle Linux-kommandolinjen og Bash-scripting på ekspertniveau-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Introduktion til regulære udtryk (Regex)
- Avanceret Grep med Regex
- Kombination af Regex med sed/awk
- Capture groups, backreferences og substitution