DevOps-bootcamp · leksjon

Introduksjon til regulære uttrykk (Regex)

Forstå syntaksen og kjernebegrepene i regulære uttrykk for kraftig mønstergjenkjenning i tekst.

Leksjon 1 av 411 trinn

Introduksjon til regulære uttrykk (Regex) er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp 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.txt

Punktum: 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.txt

Asterisk: 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.txt

Plusstegn: É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.txt

Spø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.txt

Ankere: 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.txt

Tegngrupper: 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.txt

Kvantifikatorer: 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.txt

Rask kontroll av regulære uttrykk

Se på disse strengene:

  • banana
  • banaana
  • banaanana
  • bna

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.

Gratis å komme i gang

Lær deg DevOps-bootcamp 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
142
Leksjoner
568

Ofte stilte spørsmål

Er leksjonen «Introduksjon til regulære uttrykk (Regex)» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Introduksjon til regulære uttrykk (Regex)», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp 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å DevOps-bootcamp 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 DevOps-bootcamp?

Ingen tidligere erfaring er nødvendig. DevOps-bootcamp 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 DevOps-bootcamp-leksjonen?

Ja. Alle DevOps-bootcamp-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

  1. Introduksjon til regulære uttrykk (Regex)
  2. Avansert grep med regulære uttrykk
  3. Kombinere regex med sed/awk
  4. Fangstgrupper, bakreferanser og substitusjon
← Tilbake til DevOps-bootcamp