Я работаю с большим списком, содержащим целые числа, и я хотел бы сделать некоторое сопоставление шаблонов на них (например, найти определенные последовательности). Регулярные выражения были бы идеальными, за исключением того, что они всегда, похоже, обрабатывают только списки символов, строки a.k.a. Есть ли библиотека (на любом языке), которая может обрабатывать списки произвольного типа?
Я знаю, что я мог бы преобразовать свой целочисленный список в строку, а затем выполнить обычный поиск регулярных выражений, но это кажется немного расточительным и неэлегантным.
изменить
Мои требования довольно просты. Нет необходимости в вложенных списках, нет необходимости в причудливых классах символов. В принципе, меня просто интересуют появление последовательностей, которые могут стать довольно сложными. (например, что-то вроде "[abc]{3,}.([ab]?[^a]{4,7})"
и т.д., где a
, b
, c
являются целыми числами). Это должно быть возможно обобщить на любой тип, который можно проверить на равенство. Для перечислимого типа вы также можете использовать такие вещи, как "[a-z]"
.