Bliv fortrolig med regulære udtryk (Regex)
Forstå syntaksen og styrken ved regulære udtryk til avanceret mønstergenkendelse.
Bliv fortrolig med regulære udtryk (Regex) er en gratis Linux-kommandolinjen i dybden-lektion på CoddyKit. Dette er lektion 1 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 i dybden, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Linux-kommandolinjen i dybden-kurset indeholder 4 lektioner i alt.
Introduktion til regulære udtryk
Velkommen til regulære udtryk (regex)! Regex er et kraftfuldt minisprog, der bruges til mønstergenkendelse i tekst. Det fungerer som et ekstra kraftfuldt søgeværktøj.
Du kan bruge regex til at søge efter, erstatte og validere bestemte tekstmønstre i filer eller kommandouddata. Når du mestrer det, bliver du langt mere effektiv på kommandolinjen!
Match af nøjagtig tekst
Det enkleste regex matcher bogstavelige tegn. Det betyder, at mønsteret leder efter den nøjagtige tegnsekvens, du angiver.
Hvis du f.eks. søger efter apple, finder du kun forekomster af "apple".
echo "I have an apple and a pineapple." | grep 'apple'Ethvert enkelt tegn: Punktummet (.)
Punktummet (.) er et specialtegn, der kaldes et "metategn". Det matcher ethvert enkelt tegn, bortset fra et linjeskift. Brug det, når det er ligegyldigt, hvilket tegn der står på en bestemt plads.
echo "cat, cot, cut, c@t" | grep 'c.t'Match af gentagelser: Kvantorer
Kvantorer lader dig angive, hvor mange gange et tegn eller en gruppe skal forekomme. De er kraftfulde til fleksibel matching:
*: Matcher nul eller flere forekomster.+: Matcher én eller flere forekomster.?: Matcher nul eller én forekomst (gør den valgfri).
echo "color colour coor" | grep 'colou*r'Bestemte valg: Tegnklasser
Brug firkantede parenteser ([]) til at matche ét vilkårligt tegn fra et angivet sæt. Det definerer bestemte muligheder for én enkelt position i dit mønster.
Eksempelvis matcher [aeiou] enhver enkelt vokal.
echo "grey gray" | grep 'gr[ae]y'Definition af intervaller i klasser
Inde i tegnklasser kan du angive intervaller af tegn ved hjælp af en bindestreg (-). Det gør dine mønstre meget kortere og lettere at læse.
[0-9]: Matcher ethvert ciffer.[a-z]: Matcher ethvert lille bogstav.[A-Z]: Matcher ethvert stort bogstav.[a-zA-Z]: Matcher ethvert bogstav uanset store og små bogstaver.
echo "num1 num2 numA" | grep 'num[0-9]'Udelukkelse af tegn: Negation
Hvis du vil matche et tegn, der IKKE findes i et angivet sæt, skal du placere en cirkumfleks (^) som det første tegn inde i de firkantede parenteser ([^...]).
echo "apple, banana, 123, !@#" | grep '[^a-z]'Start og slutning: Ankre
Ankre matcher ikke tegn; de matcher positioner. De "forankrer" dit mønster ved starten eller slutningen af en linje.
^: Matcher begyndelsen af en linje.$: Matcher slutningen af en linje.
Bemærk: Når ^ bruges uden for [], er det et anker og ikke en negation!
echo -e "start here\n here end\nstart and end" | grep '^start'Sæt det hele sammen
Lad os kombinere nogle af disse begreber. Forestil dig, at du vil finde linjer, der begynder med et stort bogstav, efterfulgt af et vilkårligt antal små bogstaver, og som slutter med et ciffer.
echo -e "Hello1\nworld2\nAnotherTest3" | grep '^[A-Z][a-z]*[0-9]$'Regex-udfordring
Overvej følgende tekst:
apple
apples
apply
app
AppleHvilket regulært udtryk matcher "apple" og "apples", men IKKE "apply", "app" eller "Apple"?
Opsummering: Grundlæggende regex
I denne lektion har du taget dine første skridt ind i de regulære udtryks kraftfulde verden! Vi gennemgik:
- Bogstavelig matching af nøjagtig tekst.
- Metategnet
.til ethvert enkelt tegn. - Kvantorer (
*,+,?) til gentagelser. - Tegnklasser (
[]) og intervaller ([a-z]) til bestemte sæt. - Negation (
[^]) til at udelukke tegn. - Ankre (
^,$) til starten og slutningen af linjer.
Dette er byggestenene til at oprette avancerede tekstmønstre. Bliv ved med at øve dig!
Lær Linux-kommandolinjen i dybden 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
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Bliv fortrolig med regulære udtryk (Regex)” gratis?
Ja — hele teksten til “Bliv fortrolig med regulære udtryk (Regex)” 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 i dybden-kurset, skal du opgradere til CoddyKit PRO. Linux-kommandolinjen i dybden-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Bliv fortrolig med regulære udtryk (Regex)”?
Forstå syntaksen og styrken ved regulære udtryk til avanceret mønstergenkendelse. Du øver dig i Linux-kommandolinjen i dybden 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 i dybden?
Der kræves ingen tidligere erfaring. Linux-kommandolinjen i dybden 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 1 af 4.
Hvor lang tid tager lektionen “Bliv fortrolig med regulære udtryk (Regex)”?
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 i dybden-lektion?
Ja. Alle Linux-kommandolinjen i dybden-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
- Bliv fortrolig med regulære udtryk (Regex)
- Avancerede mønstre med `grep` og `find`
- `xargs` til kædning af kommandoer
- Streamredigering i stor skala med sed og tr