DevOps-bootcamp · Lektion

Fångstgrupper, bakreferenser och substitution

Använd parenteser för att fånga delar av en matchning och återanvänd dem med bakreferenser för kraftfull matchning och textsubstitution.

Lektion 4 av 413 steg

Fångstgrupper, bakreferenser och substitution är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad är fångstgrupper?

Parenteser ( ) skapar en fångstgrupp som kommer ihåg texten den matchade, så att du kan referera till den senare.

echo "2026-05-29" | grep -E "([0-9]{4})-([0-9]{2})-([0-9]{2})"

Numrering av grupper

Grupper numreras från vänster till höger utifrån den inledande parentesen. Grupp 1 är den första (, grupp 2 den andra och så vidare.

# (year)(month)(day)
# group 1 = year, 2 = month, 3 = day

Bakåtreferenser vid matchning

En bakåtreferens som \1 matchar SAMMA text som en tidigare grupp fångade. Det är användbart för att hitta dubbletter.

echo "hello world world" | grep -E "(\w+) \1"

Hitta dubblerade ord

Mönstret (\w+) \1 hittar ett ord som följs av sig självt, vilket är ett vanligt skrivfel.

echo "the the cat sat" | grep -oE "(\w+) \1"

Fångstgrupper med sed

I sed-ersättningar återanvänds fångade grupper i ersättningstexten som \1 och \2. Använd -E för utökade reguljära uttryck.

echo "2026-05-29" | sed -E "s|([0-9]{4})-([0-9]{2})-([0-9]{2})|\3/\2/\1|"

Byta plats på fält

Fånga två fält och ändra deras ordning i ersättningstexten för att omvandla dataformat.

echo "Doe, John" | sed -E "s/(\w+), (\w+)/\2 \1/"

Icke-fångande grupper

Ibland grupperar du enbart för att tillämpa en kvantifierare, inte för att fånga text. I PCRE kan du skriva (?:...) för att undvika numrering.

# PCRE only (grep -P):
echo "abcabc" | grep -P "(?:abc){2}"

Alternation i grupper

Kombinera grupper med alternation | för att matcha ett av flera alternativ och samtidigt fånga resultatet.

echo "cat dog fish" | grep -oE "(cat|dog)"

Kvantifiera en grupp

Tillämpa kvantifierare på en hel grupp för att upprepa ett mönster. (ab)+ matchar en eller flera ab-sekvenser.

echo "ababab" | grep -oE "(ab)+"

Fånga text i awk

awk använder match() tillsammans med RSTART och RLENGTH för att extrahera den matchade delen.

echo "id=42" | awk "{ if (match(\$0, /id=[0-9]+/)) print substr(\$0, RSTART, RLENGTH) }"

Praktisk omformatering

Fångstgrupper är särskilt användbara när du i ett enda steg formaterar om loggar eller CSV-kolumner till en ny layout.

echo "John,30,NYC" | sed -E "s/([^,]+),([^,]+),([^,]+)/Name: \1 Age: \2 City: \3/"

Snabbkontroll

Testa dina kunskaper om fångstgrupper.

Sammanfattning

Du behärskar nu fångstgrupper:

  • Parenteser fångar och numrerar matchad text
  • Bakåtreferenser som \1 matchar samma text igen
  • I sed återanvänds grupper i ersättningstext för att ändra ordningen på fält
  • Kvantifiera och använd alternation i grupper för flexibla mönster
Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Fångstgrupper, bakreferenser och substitution” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Fångstgrupper, bakreferenser och substitution”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Fångstgrupper, bakreferenser och substitution”?

Använd parenteser för att fånga delar av en matchning och återanvänd dem med bakreferenser för kraftfull matchning och textsubstitution. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Fångstgrupper, bakreferenser och substitution”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Introduktion till reguljära uttryck (Regex)
  2. Avancerad grep med Regex
  3. Kombinera Regex med sed/awk
  4. Fångstgrupper, bakreferenser och substitution
← Tillbaka till DevOps-bootcamp