Python Academy · Lektion

Använda re.match, re.search och re.findall

Använd centrala re-funktioner för att hitta mönster i strängar.

Lektion 2 av 414 steg

Använda re.match, re.search och re.findall är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 4 lektioner.

Introduktion

Modulen re tillhandahåller flera funktioner för att tillämpa mönster på strängar.

re.match() — Strängens början

re.match(pattern, string) matchar endast i strängens BÖRJAN. Returnerar ett Match-objekt eller None.
import re
print(re.match(r'\d+', '123abc'))  # match
print(re.match(r'\d+', 'abc123'))  # None

re.search() — Var som helst

re.search(pattern, string) hittar den FÖRSTA matchningen var som helst i strängen. Returnerar Match eller None.
import re
m = re.search(r'\d+', 'abc 123 def')
if m: print(m.group())

re.findall() — Alla matchningar

re.findall(pattern, string) returnerar en lista med alla icke-överlappande matchningar som strängar.
import re
print(re.findall(r'\d+', 'one 1 two 22 three 333'))

re.finditer() — Iterator

re.finditer() fungerar som findall() men returnerar en iterator med Match-objekt – minneseffektivt för stora strängar.
import re
for m in re.finditer(r'\d+', 'x1 y22 z333'):
    print(m.group(), m.start(), m.end())

Metoder för Match-objekt

m.group() returnerar den matchade strängen. m.start() och m.end() returnerar positioner. m.span() returnerar (start, end).
import re
m = re.search(r'(\w+)@(\w+)', 'send to user@example')
if m:
    print(m.group(), m.group(1), m.group(2))

re.fullmatch()

re.fullmatch(pattern, string) kräver att mönstret matchar HELA strängen.
import re
print(re.fullmatch(r'\d+', '123'))    # match
print(re.fullmatch(r'\d+', '123abc'))  # None

re.split()

re.split(r'\s+', string) delar upp vid mönstret. r'[,;\s]+' delar upp vid kommatecken, semikolon och blanksteg.
import re
print(re.split(r'[,;\s]+', 'one,two; three four'))

re.sub() för ersättning

re.sub(pattern, repl, string) ersätter matchningar. repl kan vara en sträng eller en funktion.
import re
print(re.sub(r'\d+', 'NUM', 'I have 3 cats and 12 dogs'))

Kompilerade mönster

pattern = re.compile(r'\d+') kompilerar mönstret en gång. Använd pattern.findall(), .search() och så vidare – snabbare vid upprepad användning.
import re
digits = re.compile(r'\d+')
print(digits.findall('abc 123 def 456'))

Flaggor

re.IGNORECASE (re.I), re.MULTILINE (re.M) och re.DOTALL (re.S) ändrar matchningsbeteendet.
import re
print(re.findall(r'hello', 'HELLO World', re.IGNORECASE))

Snabbkontroll

Vad är skillnaden mellan re.match() och re.search()?

Sammanfattning

re.match (endast början), re.search (första matchningen var som helst), re.findall (alla som lista), re.finditer (alla som Match-objekt), re.sub (ersätt), re.compile (återanvänd mönstret).

Fortsätt

Bra jobbat! Nästa lektion väntar.
Gratis att börja

Lär dig Python 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
76
Lektioner
320

Vanliga frågor

Är lektionen ”Använda re.match, re.search och re.findall” gratis?

Ja – hela texten till ”Använda re.match, re.search och re.findall” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Använda re.match, re.search och re.findall”?

Använd centrala re-funktioner för att hitta mönster i strängar. Ni övar på Python Academy 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 Python Academy?

Du behöver inga förkunskaper. Utbildningen i Python Academy 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 2 av 4.

Hur lång tid tar lektionen ”Använda re.match, re.search och re.findall”?

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 Python Academy-lektionen?

Ja. Varje Python Academy-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. Grunderna i reguljära uttryck
  2. Använda re.match, re.search och re.findall
  3. Grupper och namngivna fångster
  4. re.sub, flaggor och kompilerade mönster
← Tillbaka till Python Academy