Представьте себе: вы должны проверить документ или веб -страницу и найти повторяющиеся слова, чтобы заменить их. И если вам нужно найти не только слова, но и разные адреса электронной почты.
Решение этой проблемы значительно упростит использование регулярных выражений.
Регулярные выражения Или истекать (Регулярное английское выражение) — это специальный синтаксис для описания моделей информации о информационных исследованиях. С их помощью вы можете искать, заменить или извлекать текстовые данные с большой точностью. Основой регулярных выражений являются символы, которые определяют правила исследования, например, все числа или слова, начинающиеся с определенной буквы. Регулярные выражения позволяют вам описать сложные условия исследования в простой и читаемой форме, что делает их необходимыми для различных задач.
Регулярные выражения помогут в разных случаях — из проверки данных, например, при проверке номера телефона в анализе текстов: получение ссылок или другой информации.
Давайте посмотрим на синтаксис регулярных выражений. Далее по примерам это станет более ясным.
Содержание
- 1 Синтаксис регулярных выражений
- 2 Задача: Найдите адрес электронной почты в тексте
- 3 Мы напишем регулярное выражение, чтобы найти адреса электронной почты
- 4 Разборка регулярного выражения:
- 5 Задача: найти все телефонные номера в тексте
- 6 Мы напишем регулярное выражение, чтобы найти номер телефона
- 7 Анализ регулярного выражения
Синтаксис регулярных выражений
Основные элементы синтаксиса регулярных выражений:
-
Символы и классы символов:
-
Полем — любой символ, кроме новой линии
-
\ D — любая фигура (эквивалентная [0-9])))
-
\ W [a-zA-Z0-9_])))
-
\ s — любой пример символа (включая разрыв, табу, новая линия)
-
-
Квантификаторы:
-
* — 0 или более репетиций
-
+ — 1 или более репетиций
-
? — делает символ необязательным, означает 0 или 1 повторение
-
{n} — точно n репетиции
-
{n,} — n или нет больше репетиций
-
{n, m} — от n до m репетиций
-
-
Группа и альтернативы:
-
(ABC) — группа символов
-
А | B — A или B (альтернатива)
-
-
Начало и конец линии:
-
Сияет:
-
\ — защищает специальные символы, чтобы использовать их буквально (например, \. Чтобы найти точку)
-
Давайте посмотрим, как использовать синтаксис регулярных выражений в простом примере. Мы будем использовать регулярные выражения для поиска определенных моделей в строках текста. Например, возьмите задачу найти все адреса электронной почты в тексте.
Задача: Найдите адрес электронной почты в тексте
Предположим, есть текст, и вы должны найти все адреса электронной почты.
Пример текста:
Адрес электронной почты: [email protected], [email protected] и [email protected].
Мы напишем регулярное выражение, чтобы найти адреса электронной почты
Адрес электронной почты состоит из двух частей:
-
Connection (например, пример в [email protected]);
-
Домен (например, Mail.com in [email protected]).
Мы можем использовать регулярное выражение:
[A-Za-z0-9._%+-]+ @[A-Za-z0-9.-]+ \.[A-Za-z]{2,}
Разборка регулярного выражения:
-
[A-Za-z0-9._%+-] — соответствует любому символу в соединении электронной почты (буквы, цифры, точки, акцент, интерес, преимущества и недостатки);
-
+-means «один или несколько символов», то есть соединение может быть длинным, но не пустым;
-
@ — соответствует символу @ en e -mail;
-
[A-Za-z0-9.-] — соответствует символам домена (буквы, цифры, точки и ссылка);
-
\ — точка экрана так, чтобы она символизировала именно точку, а не «какой -либо символ»;
-
[A-Za-z]{2,} — соответствует расширению домена (например, .com или .org), состоит из двух букв.
Или другой пример. Было необходимо найти все телефонные номера в тексте. Они могут быть записаны в разных форматах: с сепараторами или без него.
Задача: найти все телефонные номера в тексте
Предположим, у нас есть текст и что мы хотим найти все телефонные номера, которые могут быть в таких форматах:
-
+7 (123) 456-78-90
-
8-123-456-78-90
-
+7 123 456 78 90
Мы напишем регулярное выражение, чтобы найти номер телефона
Чтобы найти такие цифры, мы должны учитывать несколько возможных вариантов регистрации:
-
Начиная с +7 или 8;
-
Возможные сепараторы, такие как пробелы, функции союза и опоры;
-
Линия состоит из чисел.
Регулярное выражение, чтобы найти номер телефона, может выглядеть так:
(\ +7 | 8)[\s\-]? \ (? \ d {3} \)?[\s\-]? \ d {3}[\s\-]? \ d {2}[\s\-]? \ d {2}
Анализ регулярного выражения
-
(\ +7 | 8) — Мы ищем +7 или 8 в начале комнаты.
-
[\s\-]? — Необязательный символ разницы или связь между частями числа (может быть одним или отсутствует).
-
\ (? \ D {3} \)? — Три фигуры, которые могут быть окружены опорами (например, (123) или 123).
-
[\s\-]? — Еще раз необязательное различие или ссылка.
-
\ D {3} — три цифры (например, для кода города).
-
[\s\-]? — Еще раз необязательное различие или ссылка.
-
\ D {2} — две цифры (например, для последней части числа).
-
[\s\-]? — Еще раз необязательное различие или ссылка.
-
\ D {2} — последние две цифры.
Регулярные выражения могут быть «жадными» или «ленивыми». Гурди пытается запечатлеть больше символов и ленивых — как можно меньше. Например, выражение. * Будет захватывать все символы, из текущей позиции и последнего возможного совпадения, пытаясь захватить весь текст, даже если есть более короткие варианты. Пока .*? — Только перед первым совпадением количество персонажей, необходимых для первого успешного совпадения.
Регулярные выражения зависят от регистра. Например, если слово «яблоко» указывается в обычных терминах, оно найдет только одно «яблоко» с маленькой буквой. Если текст написан «Apple» с заглавной буквой, он больше не будет найден этим выражением.
Если необходимо, чтобы регулярное выражение не зависело от регистра (то есть «Apple» и «Apple») должны быть указаны, что регистр не важен, например, добавление дополнительного флажества I.
Многие языки программирования заботятся о регулярных выражениях для работы, например, Java, Perl, PHP, JavaScript, Python и других.
Как использовать регулярные выражения с ChatApp?
Случай: ювелирные изделия хотят поздравить своих клиентов с день рождения и отправить им скидку на покупку. Для этого вы должны точно определить дату рождения каждого клиента, которого он указывает во время регистрации.
Регулярные выражения в этом случае могут помочь подтвердить дату рождения, чтобы убедиться, что информация вводится должным образом.
Как настроить сбор данных с помощью дизайнера Catapp Designer?
1. Менеджер запрашивает дату рождения в формате »Dd.mm.Yyy », клиент представляет свою дату рождения.

2. Валидация происходит по регулярным выражениям
В блоке «Состояние» в производителе BOT выберите «recex» и добавьте регулярное выражение из списка Drop -Down или укажите ваше.

Регулярное выражение проверяет, что введенная дата соответствует правильному формату и гарантирует, что данные ввели должным образом, без ошибок (например, так что буквы нет).
Пример регулярного выражения для проверки даты рождения: ^ \ d {2} \. \ D {2} \. \ D {4} $
3. После получения даты рождения клиента вы можете автоматизировать новостную рассылку подарков и скидок за несколько дней до дня рождения.

Хакеры образа жизни для использования
Регулярные выражения очень полезны, но их использование может быть не таким очевидным, как может показаться на первый взгляд.
-
Читаемость: Регулярные выражения могут быстро стать сложными и трудно понять. Добавьте комментарии к регулярным выражениям, особенно если используется в крупных проектах.
-
Производительность: Регулярные сложные выражения могут значительно замедлить реализацию программы, особенно если они используются на больших объемах данных. В таких случаях стоит оптимизировать выражения и избежать использования сложных моделей.
-
Эссе: Прежде чем вводить регулярные выражения в проект, проверьте их на различных тестовых данных. Для этого вы можете использовать онлайн -инструменты, такие как Regex101Это поможет вам проверить ваше регулярное выражение на практике.
Регулярные выражения являются мощным инструментом. Они позволяют вам эффективно решать проблемы исследований, замены и проверки данных. Однако, несмотря на свою гибкость, регулярные выражения требуют точности письма и тестов. Соответствующее использование корпорации может значительно упростить жизнь, и плохой может создать путаницу и замедлить.