verbal-expressions

05 января 2018 00:20

Скрипты OneScript


verbal-expressions - это библиотека для OneScript, помогающая собирать сложные регулярные выражения.

OneScript Verbal Expressions

Регулярные выражения - это просто!

verbal-expressions - это библиотека для OneScript, помогающая собирать сложные регулярные выражения.

Установка

С хаба пакетов

opm install verbal-expressions

С релизов GitHub

  1. Перейти на страницу релизов
  2. Скачать артефакт verbal-expressions-x.y.z.ospx
  3. Установить с помощью opm: opm install -f verbal-expressions-x.y.z.ospx

С AppVeyor

  1. Перейти на страницу последней сборки или истории сборок и выбрать интересующую сборку
  2. Перейти в раздел Artifacts
  3. Скачать артефакт verbal-expressions-x.y.z.ospx
  4. Установить с помощью opm: opm install -f verbal-expressions-x.y.z.ospx

Использование

Несколько примеров использования Вербальных выражений:

Проверка валидности URL

#Использовать verbal-expressions

// Проверим корректность формирования URL

ВербальноеВыражение = Новый ВербальноеВыражение()
    .НачалоСтроки()
    .Затем("http")
    .МожетБыть("s")
    .Затем("://")
    .ЧтоНибудьНоНе(" ")
    .КонецСтроки();
    
ТекстРегулярногоВыражения = ВербальноеВыражение.ВСтроку();
Сообщить(ТекстРегулярногоВыражения); // ^(http)(s)?(://)([^ ]+)$

РегулярноеВыражение = ВербальноеВыражение.ВРегулярноеВыражение();
ПроверяемаяСтрока = "https://www.google.com";

Если РегулярноеВыражение.Совпадает(ПроверяемаяСтрока) Тогда
    Сообщить("URL корректен");
Иначе
    Сообщить("URL некорректен");
КонецЕсли;

Вложенное "или"

#Использовать verbal-expressions

// Проверим корректность формирования URL. Допустимые схемы - http[s] и ftp

ЭкранироватьПереданноеЗначение = Ложь;

ВербальноеВыражение = Новый ВербальноеВыражение()
    .НачалоСтроки()
    .Затем(
        Новый ВербальноеВыражение()
            .Найти("http")
            .МожетБыть("s")
            .Либо("ftp")
            .ВСтроку(),
        ЭкранироватьПереданноеЗначение
    )
    .Затем("://")
    .ЧтоНибудьНоНе(" ")
    .КонецСтроки();
    
ТекстРегулярногоВыражения = ВербальноеВыражение.ВСтроку();
Сообщить(ТекстРегулярногоВыражения); // ^(((http)(s)?)|(ftp))(://)([^ ]+)$

Больше примеров в файле с приемочными тестами.

Список методов

Список методов и их описание доступно в файле docs/Reference.md

ToDo

  • Пробросить методы объекта РегулярноеВыражение в ВербальноеВыражение для упрощения использования
  • Добавить новых ништяков
Сайт 0

Комментарии

Модератору