Изменен: 02.01.2019 19:48:30
Регулярные выражения - это просто!
verbal-expressions - это библиотека для OneScript, помогающая собирать сложные регулярные выражения.
opm install verbal-expressions
opm install -f verbal-expressions-x.y.z.ospx
opm install -f verbal-expressions-x.y.z.ospx
Несколько примеров использования Вербальных выражений:
#Использовать 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