У меня есть пара случаев использования, где я хотел бы иметь возможность декларативно указывать набор файлов, которые могут иметь номера в разных местах в пути (другими словами, где число (числа) может варьироваться в зависимости от спецификации).но мне это известно), и было бы полезно уточнить условия для диапазона этих чисел (например, от 2 до 21).Я знаю, что можно указывать диапазоны чисел в регулярных выражениях, но это неуклюже и подвержено ошибкам, особенно при компенсации таких вещей, как «01» против «1».
Мой вопрос: кто-нибудь знает какой-нибудь язык?или библиотека, которая обеспечивает аналогичную функциональность?Подобные вещи кажутся достаточно общими, чтобы быть полезными, но я не могу вспомнить, чтобы увидеть что-то подобное, и первоначальный поиск в Google ничего не дал.Наиболее распространенный подход (я думаю, я использовал его раньше, на самом деле), кажется, использует группы регулярных выражений, а затем обрабатывает их с любым языком программирования, который вы используете, но такого рода одноразовое решение на самом деле не удовлетворяет *.1003 *
Вот пример того, что я могу искать:
'/base_path/section/(?<n>\d{2})/subsection/(?<i>\d+)/.+' with 3 < n <= 9 and i < 100
Это вернет, например,
/base_path/section/04/subsection/99/*
/base_path/section/09/subsection/000/*
, но не
/base_path/section/01/subsection/0/*
или
/base_path/section/05/subsection/01000/*
Вариант использования
Основной вариант использования, на который я сейчас обращаю внимание, заключается в том, что я хотел бы иметь возможность разделить коллекцию файлов на два или болеегруппы должны обрабатываться отдельно, частично на основе номера раздела, который находится в середине пути.Это в контексте проведения некоторых экспериментов NLP в различных конфигурациях, и я хотел бы иметь возможность декларативно указывать, с какими файлами работать гибко, чтобы я не сходил с ума, пытаясь убедиться, что нужные файлыиспользуется каждый раз.