Lær AI med Python · leksjon

Regex-mønstre og tegnklasser

\d, \w, \s, ., ^, $, +, *, ?, {n,m}, tegnklasser [a-z], negasjon [^...].

Leksjon 1 av 413 trinn

Regex-mønstre og tegnklasser er en gratis leksjon i Lær AI med Python 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 Lær AI med Python, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.

Hvorfor regex er viktig for tekst-AI

Tekst-AI begynner med uryddig råtekst. Regulære uttrykk (regex) er et kompakt språk for å finne og hente ut mønstre — telefonnumre, datoer, emneknagger og URL-er — slik at tekst kan ryddes opp i og struktureres før den sendes til en modell.

Dette kurset lærer bort mønstre, re-modulen, grupper og en praktisk arbeidsflyt for tekstrensing.

Bokstavelige tegn

Det enkleste mønsteret er bokstavelig tekst: Det samsvarer nøyaktig med disse tegnene. Regex skiller som standard mellom store og små bokstaver.

cat samsvarer med "cat" i "the cat sat", men ikke med "Cat".

import re

print(re.findall("cat", "the cat sat on a cat mat"))
# ["cat", "cat"]

Punktum som metategn

Punktumet . samsvarer med ett hvilket som helst tegn, bortsett fra linjeskift. Det fungerer som et jokertegn.

c.t samsvarer med "cat", "cot" og "c9t" — alt som består av c, ett tegn og deretter t.

import re

print(re.findall("c.t", "cat cot cut c@t"))
# ["cat", "cot", "cut", "c@t"]

Tegnklasser for sifre, ordtegn og mellomrom

Kortformer for tegnklasser dekker vanlige grupper:

  • \d — et siffer (0–9)
  • \w — et ordtegn (bokstav, siffer eller understrek)
  • \s — mellomromstegn (mellomrom, tabulator eller linjeskift)
import re

print(re.findall("\d", "a1b2c3"))     # ["1", "2", "3"]
print(re.findall("\w", "a_1!"))        # ["a", "_", "1"]
print(re.findall("\s", "a b\tc"))      # [" ", "\t"]

Negerte tegnklasser

Versjoner med stor bokstav negerer klassen:

  • \D — alt som IKKE er et siffer
  • \W — IKKE et ordtegn
  • \S — IKKE et mellomromstegn
import re

print(re.findall("\D", "a1b2"))   # ["a", "b"]
print(re.findall("\S", "a b c"))  # ["a", "b", "c"]

Egendefinerte tegnsett med [ ]

Hakeparenteser definerer et eget sett: Det samsvarer med ett hvilket som helst tegn som er oppført inni. Intervaller bruker bindestrek.

  • [aeiou] — en hvilken som helst vokal
  • [A-Za-z] — en hvilken som helst bokstav
  • [0-9] — et hvilket som helst siffer (samme som \d)
import re

print(re.findall("[A-Za-z]", "ab12CD"))   # letters only
print(re.findall("[aeiou]", "hello"))      # ["e", "o"]

Negerte tegnsett med [^ ]

Et cirkumflekstegn inni hakeparentesene negerer settet: Det samsvarer med et hvilket som helst tegn som IKKE står i listen.

[^abc] samsvarer med alt unntatt a, b og c. (Et cirkumflekstegn utenfor hakeparenteser er et anker, som omtales i neste del.)

import re

print(re.findall("[^aeiou ]", "hello world"))
# consonants: ["h", "l", "l", "w", "r", "l", "d"]

Ankere: ^ og $

Ankere samsvarer med posisjoner, ikke tegn:

  • ^ — begynnelsen av strengen (eller linjen)
  • $ — slutten av strengen (eller linjen)

^Hello samsvarer bare hvis teksten begynner med "Hello".

import re

print(bool(re.search("^Hello", "Hello world")))  # True
print(bool(re.search("world$", "Hello world")))  # True
print(bool(re.search("^world", "Hello world")))  # False

Kvantorer: + * ?

Kvantorer angir hvor mange ganger det foregående elementet gjentas:

  • + — én eller flere
  • * — null eller flere
  • ? — null eller én (valgfritt)
import re

print(re.findall("\d+", "abc 123 de 45"))   # ["123", "45"]
print(re.findall("ab*", "a ab abb"))         # ["a", "ab", "abb"]
print(re.findall("colou?r", "color colour")) # both match

Intervallkvantoren {n,m}

Krøllparenteser angir et nøyaktig antall eller et intervall:

  • {3} — nøyaktig 3
  • {2,4} — mellom 2 og 4
  • {2,} — 2 eller flere

Dette er nyttig for elementer med fast lengde, for eksempel postnumre eller telefonsegmenter.

import re

print(re.findall("\d{3}", "12 345 6789"))    # ["345", "678"]
print(re.findall("\d{2,4}", "1 22 3333 55555"))

Sette sammen delene

Reelle mønstre kombinerer klasser, sett, ankere og kvantorer. Dette mønsteret samsvarer med et enkelt amerikansk telefonnummer, for eksempel 555-123-4567:

\d{3}-\d{3}-\d{4} — tre sifre, bindestrek, tre sifre, bindestrek, fire sifre.

import re

text = "Call 555-123-4567 or 999-888-7777"
print(re.findall("\d{3}-\d{3}-\d{4}", text))
# ["555-123-4567", "999-888-7777"]

Rask kontroll: kvantorer

Det skal samsvares med ett eller flere sifre etter hverandre.

Oppsummering: Mønstre og tegnklasser

Byggeklossene i regex er nå kjent:

  • Bokstaver og jokertegnet .
  • Klasser som \d \w \s og de negerte variantene \D \W \S
  • Egendefinerte sett som [A-Za-z] og negerte sett som [^abc]
  • Ankere som ^ og $
  • Kvantorer som + * ? og intervaller som {n,m}

Neste trinn: funksjonene i Python-modulen re.

Gratis å komme i gang

Lær deg Python 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
53
Leksjoner
225

Ofte stilte spørsmål

Er leksjonen «Regex-mønstre og tegnklasser» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «Regex-mønstre og tegnklasser», 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 Lær AI med Python inneholder totalt 4 leksjoner.

Hva lærer jeg i «Regex-mønstre og tegnklasser»?

\d, \w, \s, ., ^, $, +, *, ?, {n,m}, tegnklasser [a-z], negasjon [^...]. Du øver på Lær AI med Python 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 Lær AI med Python?

Ingen tidligere erfaring er nødvendig. Lær AI med Python 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 «Regex-mønstre og tegnklasser»?

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 Lær AI med Python-leksjonen?

Ja. Alle Lær AI med Python-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. Regex-mønstre og tegnklasser
  2. re-modulen: search, match, findall, sub
  3. Fangstgrupper og navngitte grupper
  4. Tekstrensing for KI med regex
← Tilbake til Lær AI med Python