kb-personal/src/content/docs/knowledge-base/Регулярные выражения/Основы регулярных выражений.md
2025-04-16 21:21:27 +05:00

138 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔍 Основные операторы регулярных выражений с примерами
Регулярные выражения (RegExp) — это мощный инструмент для поиска и обработки текста.
---
## 📌 1. `.` — любой символ
Соответствует **любому одному символу**, кроме перевода строки.
**Пример:**
- Шаблон: `a.c`
- Совпадёт с: `abc`, `axc`, `a1c`
- Не совпадёт с: `ac`, `abbc`
---
## 📌 2. `^` — начало строки
Соответствует **началу строки**.
**Пример:**
- Шаблон: `^Привет`
- Совпадёт с: `Привет мир`
- Не совпадёт с: `Мир, Привет`
---
## 📌 3. `$` — конец строки
Соответствует **концу строки**.
**Пример:**
- Шаблон: `мир$`
- Совпадёт с: `Привет, мир`
- Не совпадёт с: `мир!`
---
## 📌 4. `*` — ноль или более повторений
**Пример:**
- Шаблон: `a*`
- Совпадёт с: `""`, `a`, `aa`, `aaaa`
---
## 📌 5. `+` — один или более повторений
**Пример:**
- Шаблон: `a+`
- Совпадёт с: `a`, `aa`, `aaa`
- Не совпадёт с: `""`
---
## 📌 6. `?` — ноль или одно вхождение
**Пример:**
- Шаблон: `a?`
- Совпадёт с: `""`, `a`
- Не совпадёт с: `aa`
---
## 📌 7. `[]` — набор символов
Соответствует **одному из символов внутри скобок**.
**Пример:**
- Шаблон: `[abc]`
- Совпадёт с: `a`, `b`, `c`
- Не совпадёт с: `d`, `ab`
Можно использовать диапазоны:
- `[a-z]` — все строчные латинские буквы
- `[0-9]` — все цифры
---
## 📌 8. `[^]` — отрицание
Соответствует **любому символу, кроме указанных**.
**Пример:**
- Шаблон: `[^0-9]`
- Совпадёт с: `a`, `!`
- Не совпадёт с: `5`, `3`
---
## 📌 9. `|` — логическое ИЛИ
Соответствие **любому из вариантов**.
**Пример:**
- Шаблон: `кот|пёс`
- Совпадёт с: `кот`, `пёс`
- Не совпадёт с: `слон`
---
## 📌 10. `()` — группировка
Используется для объединения символов в **группы**.
**Пример:**
- Шаблон: `(ab)+`
- Совпадёт с: `ab`, `abab`, `ababab`
---
## 📌 11. `\` — экранирование
Используется для экранирования специальных символов.
**Пример:**
- Шаблон: `\.` — точка как символ, а не оператор
---
## 🎯 Практический пример
Найти все email-адреса в тексте:
```regexp
\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b
```
---
## 📘 Совет
Тестируйте регулярные выражения на сайтах:
- https://regex101.com/
- https://regexr.com/