Как стать автором
Обновить

Хватит писать регулярные выражения. Используйте вербальные выражения

Время на прочтение1 мин
Количество просмотров90K
Сразу оговорюсь, если Вы — профессионал в использовании регулярных выражений, то Вам лучше дальше не читать во избежание ^(.*)$

GitHub-пользователь jehna нашёл интересный метод ухода от реализации сложных регулярных выражений традиционным способом.
Вербальные выражения превращают сложный и иногда нетривиальный путь от логики до собственно регулярного выражения в ненавязчивую прогулку с использованием связанного набора функций.

Результат, мягко говоря, удивителен. Вот вербальное выражение из README-файла репозитория для тестирования правильности URL:
var tester = VerEx()
            .startOfLine()
            .then( "http" )
            .maybe( "s" )
            .then( "://" )
            .maybe( "www." )
            .anythingBut( " " )
            .endOfLine();


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

Основа проекта — JS-библиотека, но также имеется куча реализаций и на других языках.

Оригинал статьи.

P. S. Если кто-то уже использует эту библиотеку, пожалуйста, приведите пример сложной регулярки, написанной в данном стиле.
Теги:
Хабы:
Всего голосов 199: ↑170 и ↓29+141
Комментарии205

Публикации

Истории

Ближайшие события

11 – 13 февраля
Epic Telegram Conference
Онлайн
27 марта
Deckhouse Conf 2025
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань