У меня есть неограниченная последовательность строк и многочисленные регулярные выражения, упорядоченные по приоритетам. Для каждой строки в последовательности я должен найти первое соответствующее регулярное выражение и соответствующую подстроку. Строки не очень длинные (<1 КБ), а количество регулярных выражений может варьироваться от сотен до тысяч. </p>
Я ищу инструмент Java, который бы эффективно справлялся с этой задачей. Я думаю, что техника должна строить DFA впереди.
Моя текущая опция - JFLEX. Проблема, которую я не могу обойти в JFLEX, состоит в том, что у ее правил нет приоритетов, и JFLEX ищет правило, соответствующее самой длинной части текста.
Мой вопрос: можно ли решить мою проблему с помощью JFLEX? Если нет, можете ли вы предложить другой Java-инструмент / технику, которая подойдет?