138 lines
3.2 KiB
Markdown
138 lines
3.2 KiB
Markdown
# 🔍 Основные операторы регулярных выражений с примерами
|
||
|
||
Регулярные выражения (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/
|
||
|