Вы, вероятно, можете объединить несколько регулярных выражений в одно, например: (regex1)|(regex2)|...|(regexN)
. Как только объединенное регулярное выражение совпадет, вы можете запросить у Matcher
объекта, какая группа не пуста, и выбрать функцию на основе этого.