Представьте себе: вы должны проверить документ или веб -страницу и найти повторяющиеся слова, чтобы заменить их. И если вам нужно найти не только слова, но и разные адреса электронной почты.

Решение этой проблемы значительно упростит использование регулярных выражений.

Регулярные выражения Или истекать (Регулярное английское выражение) — это специальный синтаксис для описания моделей информации о информационных исследованиях. С их помощью вы можете искать, заменить или извлекать текстовые данные с большой точностью. Основой регулярных выражений являются символы, которые определяют правила исследования, например, все числа или слова, начинающиеся с определенной буквы. Регулярные выражения позволяют вам описать сложные условия исследования в простой и читаемой форме, что делает их необходимыми для различных задач.

Регулярные выражения помогут в разных случаях — из проверки данных, например, при проверке номера телефона в анализе текстов: получение ссылок или другой информации.

Давайте посмотрим на синтаксис регулярных выражений. Далее по примерам это станет более ясным.

Синтаксис регулярных выражений

Основные элементы синтаксиса регулярных выражений:

  1. Символы и классы символов:

    • Полем — любой символ, кроме новой линии

    • \ D — любая фигура (эквивалентная [0-9])))

    • \ W [a-zA-Z0-9_])))

    • \ s — любой пример символа (включая разрыв, табу, новая линия)

  2. Квантификаторы:

    • * — 0 или более репетиций

    • + — 1 или более репетиций

    • ? — делает символ необязательным, означает 0 или 1 повторение

    • {n} — точно n репетиции

    • {n,} — n или нет больше репетиций

    • {n, m} — от n до m репетиций

  3. Группа и альтернативы:

    • (ABC) — группа символов

    • А | B — A или B (альтернатива)

  4. Начало и конец линии:

  5. Сияет:

    • \ — защищает специальные символы, чтобы использовать их буквально (например, \. Чтобы найти точку)

ЧИТАТЬ  Как оптимизировать теги H2 для SEO (7 лучших практик)

Давайте посмотрим, как использовать синтаксис регулярных выражений в простом примере. Мы будем использовать регулярные выражения для поиска определенных моделей в строках текста. Например, возьмите задачу найти все адреса электронной почты в тексте.

Задача: Найдите адрес электронной почты в тексте

Предположим, есть текст, и вы должны найти все адреса электронной почты.

Пример текста:

Адрес электронной почты: [email protected], [email protected] и [email protected].

Мы напишем регулярное выражение, чтобы найти адреса электронной почты

Адрес электронной почты состоит из двух частей:

  1. Connection (например, пример в [email protected]);

  2. Домен (например, 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

Мы напишем регулярное выражение, чтобы найти номер телефона

Чтобы найти такие цифры, мы должны учитывать несколько возможных вариантов регистрации:

  1. Начиная с +7 или 8;

  2. Возможные сепараторы, такие как пробелы, функции союза и опоры;

  3. Линия состоит из чисел.

ЧИТАТЬ  Как смотреть AEW All в 2023 году | цифровые тенденции

Регулярное выражение, чтобы найти номер телефона, может выглядеть так:

(\ +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 или укажите ваше.

Пример сценария в производителе ботов ChatApp

Пример сценария в производителе ботов ChatApp

Регулярное выражение проверяет, что введенная дата соответствует правильному формату и гарантирует, что данные ввели должным образом, без ошибок (например, так что буквы нет).

Пример регулярного выражения для проверки даты рождения: ^ \ d {2} \. \ D {2} \. \ D {4} $

3. После получения даты рождения клиента вы можете автоматизировать новостную рассылку подарков и скидок за несколько дней до дня рождения.

Хакеры образа жизни для использования

Регулярные выражения очень полезны, но их использование может быть не таким очевидным, как может показаться на первый взгляд.

  1. Читаемость: Регулярные выражения могут быстро стать сложными и трудно понять. Добавьте комментарии к регулярным выражениям, особенно если используется в крупных проектах.

  2. Производительность: Регулярные сложные выражения могут значительно замедлить реализацию программы, особенно если они используются на больших объемах данных. В таких случаях стоит оптимизировать выражения и избежать использования сложных моделей.

  3. Эссе: Прежде чем вводить регулярные выражения в проект, проверьте их на различных тестовых данных. Для этого вы можете использовать онлайн -инструменты, такие как Regex101Это поможет вам проверить ваше регулярное выражение на практике.

Регулярные выражения являются мощным инструментом. Они позволяют вам эффективно решать проблемы исследований, замены и проверки данных. Однако, несмотря на свою гибкость, регулярные выражения требуют точности письма и тестов. Соответствующее использование корпорации может значительно упростить жизнь, и плохой может создать путаницу и замедлить.

Source