Yashotantra Academy logo
← Python theorytheory 0/50 · 0%
level 1
Curious · 0 XP
streak
0d
perfect
0
badges
0

100 XP to Apprentice

Strings · medium

27. Regular expressions

Pattern matching text with the re module.

1 min read3 questionsup to 50 XPtopic 27/50

Read in another language

AI translates the explanation and quiz text while preserving code and answer scoring.

The `re` module matches patterns in text. `re.match` anchors at the start, `re.search` finds anywhere, and `re.findall` returns all matches.

python
import re

pattern = r"^0x[a-fA-F0-9]{40}$"
bool(re.match(pattern, "0x" + "a" * 40))   # True

re.findall(r"\d+", "block 100, tx 42")     # ["100", "42"]
re.sub(r"\s+", " ", "too   many   spaces")  # "too many spaces"

Raw strings (`r"..."`) avoid double-escaping backslashes in patterns. Named groups `(?P<name>...)` let you extract structured pieces via `match.group("name")`.

How to study this topic

  1. 1. Read the explanation once end to end, skipping the code.
  2. 2. Re-read the code snippets and say out loud what each line does.
  3. 3. Answer the quiz without scrolling back — that is the real check.
  4. 4. Read every explanation, even for the answers you got right.

Scoring

  • · Up to 30 XP from quiz accuracy.
  • · +15 XP for a perfect first attempt.
  • · +5 XP while a 3-day streak is running.
  • · 75% or higher marks the topic complete.

Check your understanding

  1. 1. What is the purpose of a raw string prefix `r"..."` in regex?

  2. 2. What does `re.findall(r'\\d+', text)` return?

  3. 3. What does `re.match` check, unlike `re.search`?

Badges

First light
Pass your first topic
Sharp shooter
3 perfect first-try quizzes
On a roll
Study 3 days in a row
Week warrior
Study 7 days in a row
Grinder
Earn 500 XP
Deep diver
Earn 1500 XP