Категория: Текст

Имя класса: RegexIsMatchBlock

Имя схемы: text_regexIsMatch

 

Назначение:


Параметры:


Выход:


Краткая информация.

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

  • Базовые символы:

    • a: соответствует символу 'a'.
      •  Любая буква или число соответствует сама себе. С другими символами бывает по разному. Но если символ используется как специальный, то его можно экранировать с помощью "\", чтобы получить сам этот символ. Например, символ $ означает конец строки, а \$ означает $.
    • \d: соответствует любой цифре (0-9).
    • \w: соответствует любому алфавитно-цифровому символу (буквы, цифры, _).
    • \s: соответствует пробельным символам (пробел, табуляция и т. д.).
  • Метасимволы для "всех символов":

    • .: соответствует любому символу, кроме новой строки.
    • ^: соответствует началу строки.
    • $: соответствует концу строки.
  • Количественные операторы:

    • *: соответствует нулю или более повторениям предыдущего символа или группы.
      • Пример: велосипед* соответствует как "велосипед", так и "велосипеддд", а также "велосипе".
    • +: соответствует одному или более повторениям предыдущего символа или группы.
    • ?: соответствует нулю или одному повторению предыдущего символа или группы

Рассмотрим известный всем способ создания шаблонов через звездочки (Клапан*, *лапаны, *лапан*). Здесь звездочка означает любое количество любых символов.

В регулярных выражениях любое количество любых символов обозначается через (.*) - точка - это "любой символ", звездочка - "в любом количестве".

Но есть важный нюанс. Проверка на соответствие регулярному выражению работает по принципу поиска шаблона в предоставленном тексте. То есть, по факту, любой шаблон подразумевает наличие любого количества символов перед собой и после себя. Чтобы этого избежать, нужно использовать символы ^ и $, обозначающие начало и конец строки.

Таким образом:

  • шаблону *лапан* соответствует регулярка лапан . Ее пройдут тексты "Клапан", "Клапаны", "клапан", "клапаны"
  • шаблону Клапан* соответствует регулярка ^Клапан . Ее пройдут тексты "Клапан", "Клапаны"
  • шаблону *лапаны соответствует регулярка лапаны$ . Ее пройдут тексты "Клапаны", "клапаны"
  • шаблону Клапан*двухстворчатый* соответствует регулярка ^Клапан.*двухстворчатый. И такую регулярку пройдет, например текст "Клапан обратный двухстворчатый RUSHWORK 400 чугунный межфланцевый, PN16"


Чтобы поиграться с регулярками и посмотреть, как они детально работают, а так же подобрать нужную для конкретной задачи, можно воспользоваться сервисом https://regexr.com/ там есть интерактивный интерпретатор регулярок, подсказки по составлению и так далее.

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