Короче говоря, система, над которой я работаю, имеет много слоев. В Java я получаю строку, содержащую условие для оценки. Я получаю строку с возможными появлениями вызовов функций функции «days (int)». Строка может выглядеть следующим образом:Распознавать совпадения шаблонов в String с регулярным выражением
1405555200 + days(4)
или
1405555200 + days(param_date)
где первые операнды Unix временные метки. Даты в системе преобразуются в Unix time (Long). По сути, в наши дни (x) вещь внутри строки - это всего лишь обозначение «добавить это много дней к метке времени». Поскольку один день составляет 86400 секунд, мы можем упростить это обозначение, чтобы «добавить 86400 раз к параметру в другой операнд».
Мне нужно найти все вхождения этого шаблона и превратить
1405555200 + days(param_date)
в
1405555200 + (86400 * param_date)
Как я могу сделать это чисто?
Вы хотите сделать то же самое для '1405555200 + дней (4)' также? – Braj
@Braj, да, код фактически не должен выполнять арифметику умножения. Он просто должен заменить текст. Параметр, который получает функция days, может быть буквенным значением int или ссылкой, которую нужно просмотреть позже. – rshaq
, но ответы делают это для всех. Позвольте мне обновить свой пост. – Braj