TGViewer
Шпаргалки программиста Шпаргалки программиста @progersit · 2.23K subscribers
Post #670 670

Forwarded from Python/ django

🖥 Шпаргалка по RegEx в Python

📦 Импорт:


import re

🔍 Основные функции модуля re


re.search(pattern, string) # Ищет первое совпадение (где угодно в строке)
re.match(pattern, string) # Ищет совпадение только в начале строки
re.fullmatch(pattern, string) # Проверяет, соответствует ли вся строка шаблону
re.findall(pattern, string) # Возвращает все совпадения в виде списка
re.finditer(pattern, string) # То же, но как итератор Match-объектов
re.sub(pattern, repl, string) # Замена по шаблону
re.split(pattern, string) # Разбиение строки по шаблону


# 🧠 Основы синтаксиса шаблонов

| Шаблон | Что значит |
|---------|-------------------------------------|
| . | Любой символ, кроме \n |
| ^ | Начало строки |
| $ | Конец строки |
| * | 0 или больше повторений |
| + | 1 или больше |
| ? | 0 или 1 повторение |
| {n} | ровно n раз |
| {n,} | n или больше |
| {n,m} | от n до m |
| [] | Символьный класс |
| [^] | Отрицание символьного класса |
| | | Или (`a|b`) |
| () | Группа (захват) |
| \ | Экранирование спецсимвола |

💡 Примеры


re.search(r'\d+', 'ID=12345') # Найдёт '12345' (одно или больше цифр)
re.match(r'^\w+$', 'hello_world') # Вся строка — только буквы/цифры/_
re.findall(r'[A-Z][a-z]+', 'Mr. Smith and Dr. Brown') # ['Smith', 'Brown']
re.sub(r'\s+', '-', 'a b c') # 'a-b-c'
re.split(r'[;,\s]\s*', 'one, two;three four') # ['one', 'two', 'three', 'four']


🎯 Захват групп


text = 'Name: John, Age: 30'
match = re.search(r'Name: (\w+), Age: (\d+)', text)
if match:
print(match.group(1)) # John
print(match.group(2)) # 30


Группы можно называть:


pattern = r'(?P<name>\w+): (?P<value>\d+)'
match = re.search(pattern, 'score: 42')
match.group('name') # 'score'
match.group('value') # '42'


🧱 Комбинированные шаблоны


pattern = r'\b(?:https?://)?(www\.)?\w+\.\w+\b'
text = 'Visit https://example.com or www.test.org'
re.findall(pattern, text) # [['www.'], ['www.']]


⚠️ Полезные советы

• Всегда используйте r'' перед шаблоном, чтобы не экранировать \
• re.compile(pattern) ускоряет повторное использование
• Старайтесь избегать re.match — чаще нужен re.search

✅ Быстрая проверка шаблонов

📍 Онлайн-проверка:
- https://regex101.com/
- https://pythex.org/

Хочешь отдельную шпаргалку по re.sub с лямбдами, заменами и функциями внутри, ставь лайк 👍

@pythonl
More from @progersit
  1. Jun 23, 2026🐍 Python Парсинг: Большой продвинутый бесплатный курс Полное практическое руководство по…
  2. Jun 16, 2026⚡️ Machine Learning Roadmap 2026: большая карта входа в ML без сказок про “нейросети за ме…
  3. Jun 16, 2026🔍Тестовое собеседование с руководителем Frontend-разработки в этот четверг 18 июня(в четв…
  4. May 13, 2026🖥 C# Roadmap: с нуля до профи Практическое руководство по росту в C#-разработке. Материал…
  5. May 7, 2026🦀 Полный roadmap по изучению Rust на русском + большой список ресурсов. Rust Roadmap 2026…
  6. May 6, 2026📚 Из любой книги теперь можно сделать slash-команду для Claude Не просто прочитать, подче…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →