Hoppa till innehållet
AI-grafen
D· AI-utvecklareprogrammering· ca 45 min· grundläggande — ändras sällan· verifierad 2026-09-20

Reguljära uttryck

Kunna matcha och extrahera mönster ur text med regex.

Förkunskaper

Intuition

MönsterBetyderMatchar
\dsiffra7
\wbokstav, siffra eller _a, 3, _
\sblankteckenmellanslag, tab
.vilket tecken som helstx
+en eller flera\d+ → 2026
*noll eller flera
?noll eller en
{2,4}mellan 2 och 4
[abc]något av a, b, c
^ $början / slut på raden
(...)grupp som kan hämtas ut

\d{4}-\d{2}-\d{2} matchar ett datum som 2026-09-20.

Kod

import re

logg = "2026-09-20 13:05 ERROR anvandare=42 meddelande=timeout efter 30s"

m = re.search(r"(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}) (\w+) anvandare=(\d+)", logg)
print(m.group(1), m.group(3), m.group(4))      # 2026-09-20 ERROR 42

# namngivna grupper är läsbarare
m = re.search(r"(?P<datum>\d{4}-\d{2}-\d{2}).*anvandare=(?P<uid>\d+)", logg)
print(m.group("uid"))                          # 42

print(re.findall(r"\d+", logg))                # ['2026','09','20','13','05','42','30']
print(re.sub(r"anvandare=\d+", "anvandare=***", logg))   # maskera id

# rådsträngar: använd alltid r"..." så att \d inte tolkas av Python

När regex är fel verktyg: HTML och JSON (använd en parser — nästlade strukturer går inte att matcha med regex), och mönster som blir längre än en rad. Ett regex du inte kan läsa om en månad är en bugg som väntar.

Behärskning innebär

  • Skriver mönster med teckenklasser, kvantifierare och grupper
  • Extraherar delar ur text med grupper
  • Vet när regex är fel verktyg

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser