Introduksjon til regulære uttrykk (Regex)
Forstå syntaksen og kjernebegrepene i regulære uttrykk for kraftig mønstergjenkjenning i tekst.
Introduksjon til regulære uttrykk (Regex) er en gratis leksjon i Mestring av Linux-kommandolinjen og Bash-skripting på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Mestring av Linux-kommandolinjen og Bash-skripting, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Mestring av Linux-kommandolinjen og Bash-skripting inneholder totalt 4 leksjoner.
Hva er regulære uttrykk?
Regulære uttrykk, ofte forkortet til Regex, er kraftige mønstre som brukes til å søke i og endre tekst.
Tenk på dem som supersmidige søkeuttrykk som kan finne bestemte sekvenser, tegn eller til og med posisjoner i teksten.
De brukes mye i programmering, skripting og kommandolinjeverktøy som grep, sed og awk i Linux.
Bokstavelig tegnsamsvar
Det enkleste regulære uttrykket samsvarer med nøyaktige, bokstavelige tegn. Hvis De søker etter «apple», finner det nøyaktig «apple».
La oss bruke kommandoen grep (Global Regular Expression Print) for å demonstrere dette grunnleggende samsvaret.
echo "apple" > fruits.txt
echo "banana" >> fruits.txt
echo "pineapple" >> fruits.txt
grep "apple" fruits.txt
rm fruits.txtPunktum: Et hvilket som helst enkelttegn
Punktumet (.) er et spesialtegn som samsvarer med hvilket som helst enkelttegn, bortsett fra et linjeskift.
Det fungerer som et jokertegn for én posisjon. For eksempel samsvarer c.t med "cat", "cot" og "cut".
echo "cat" > words.txt
echo "cot" >> words.txt
echo "cut" >> words.txt
echo "coat" >> words.txt
grep "c.t" words.txt
rm words.txtAsterisk: Null eller flere (*)
Asterisken (*) er en kvantifikator som samsvarer med null eller flere forekomster av tegnet eller gruppen rett foran.
For eksempel samsvarer colou*r med "color" (null «u»-er) og "colour" (én «u»).
echo "color" > spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
echo "cold" >> spellings.txt
grep "colou*r" spellings.txt
rm spellings.txtPlusstegn: Én eller flere (+)
Plusstegnet (+) samsvarer med én eller flere forekomster av tegnet eller gruppen foran.
I motsetning til * må elementet forekomme minst én gang. Derfor samsvarer go+gle med "google" og "gooogle", men ikke med "ggle".
Merk: For at +, ? og {} skal fungere direkte med grep, må De ofte bruke alternativet -E for utvidede regulære uttrykk.
echo "google" > search.txt
echo "goooogle" >> search.txt
echo "ggle" >> search.txt
grep -E "go+gle" search.txt
rm search.txtSpørsmålstegn: Null eller én (?)
Spørsmålstegnet (?) samsvarer med null eller én forekomst av tegnet eller gruppen foran.
Det gjør et tegn valgfritt. For eksempel samsvarer colou?r med "color" (null «u») og "colour" (én «u»).
echo "color" >> spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
grep -E "colou?r" spellings.txt
rm spellings.txtAnkere: Start (^) og slutt ($)
Ankere samsvarer ikke med tegn; de samsvarer med bestemte posisjoner i teksten.
^samsvarer med begynnelsen av en linje.$samsvarer med slutten av en linje.
Eksempel: ^apple samsvarer med "apple" bare når det står i begynnelsen av en linje. apple$ samsvarer med "apple" bare når det står på slutten.
echo "apple pie" > menu.txt
echo "fresh apple" >> menu.txt
echo "apple" >> menu.txt
grep -E "^apple" menu.txt
grep -E "apple$" menu.txt
rm menu.txtTegngrupper: Hakeparenteser ([])
Hakeparenteser ([]) definerer en tegnklasse som samsvarer med ett hvilket som helst tegn i mengden.
[aeiou]samsvarer med én hvilken som helst vokal.[0-9]samsvarer med ett hvilket som helst siffer.[a-zA-Z]samsvarer med én hvilken som helst bokstav.
De kan også negere en klasse med [^...]. For eksempel samsvarer [^aeiou] med ethvert tegn som IKKE er en vokal.
echo "cat" > animals.txt
echo "bat" >> animals.txt
echo "rat" >> animals.txt
echo "cot" >> animals.txt
grep -E "[cb]at" animals.txt
grep -E "[^cbr]at" animals.txt
rm animals.txtKvantifikatorer: Krøllparenteser ({})
Krøllparenteser ({}) er kvantifikatorer som angir nøyaktig antall repetisjoner for tegnet eller gruppen foran.
a{3}samsvarer med "aaa"a{2,}samsvarer med "aa", "aaa", "aaaa" og så videre (minst 2)a{2,4}samsvarer med "aa", "aaa" og "aaaa" (mellom 2 og 4)
Husk å bruke grep -E for disse kvantifikatorene.
echo "helllo" > greetings.txt
echo "hello" >> greetings.txt
echo "helo" >> greetings.txt
grep -E "hel{2,3}o" greetings.txt
rm greetings.txtRask kontroll av regulære uttrykk
Se på disse strengene:
bananabanaanabanaananabna
Hvilket regulært uttrykk samsvarer bare med "banana" og "banaana"?
Oppsummering av grunnleggende regulære uttrykk
De har lært det grunnleggende om regulære uttrykk!
- Regulære uttrykk bruker mønstre til å søke i og endre tekst.
- Vanlige tegn samsvarer med seg selv.
- Spesialtegn som
.,*,+,?,^,$,[]og{}gir avanserte muligheter for samsvar.
Deretter skal De bruke disse mønstrene til avansert tekstsøk med kommandoen grep og de ulike alternativene dens.
Lær deg Bash med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 22
- Leksjoner
- 88
Ofte stilte spørsmål
Er leksjonen «Introduksjon til regulære uttrykk (Regex)» gratis?
Ja – hele teksten i «Introduksjon til regulære uttrykk (Regex)» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Mestring av Linux-kommandolinjen og Bash-skripting-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Mestring av Linux-kommandolinjen og Bash-skripting inneholder totalt 4 leksjoner.
Hva lærer jeg i «Introduksjon til regulære uttrykk (Regex)»?
Forstå syntaksen og kjernebegrepene i regulære uttrykk for kraftig mønstergjenkjenning i tekst. Du øver på Mestring av Linux-kommandolinjen og Bash-skripting med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Mestring av Linux-kommandolinjen og Bash-skripting?
Ingen tidligere erfaring er nødvendig. Mestring av Linux-kommandolinjen og Bash-skripting på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Introduksjon til regulære uttrykk (Regex)»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Mestring av Linux-kommandolinjen og Bash-skripting-leksjonen?
Ja. Alle Mestring av Linux-kommandolinjen og Bash-skripting-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Introduksjon til regulære uttrykk (Regex)
- Avansert grep med regulære uttrykk
- Kombinere regex med sed/awk
- Fangstgrupper, bakreferanser og substitusjon