В конкретном примере я хочу извлечь вызовы функций в строковом вводе (скрипт ruby), чтобы сделать некоторую статистику (в java).Для примера ввода:
Math.sqrt(2-Math.hypot((3),4))-factorial(5)
Я хочу получить список possible
используемых функций (проверка не должна быть точной на 100%, и она может включать некоторые дополнительные ошибочные предположения):
{ Math.sqrt, Math.hypot, factorial }
Список не должен быть чувствительным к регистру, но он должен включать путь к классу функций, если он существует.
Я пытался наивно упрощенно ".*\\((.*)\\)"
, но не мог заставить его работать.Кажется, мне нужно использовать ретроспективные ссылки или обратные ссылки, но я немного озадачен.У меня вопрос, могу ли я это сделать?