private static final String MY_MATCH = "(.+)/my_path/my_file[.](.+)";
Вышеописанное работает, как и ожидалось.
Однако, если my_path определяется во время выполнения, существует ли уже существующий метод, который "разрешает" stati c final? Например, может быть похоже на Perl код выполнения во время выполнения.
My solution(pseudo-code):
private static final String MY_MATCH = "(.+)/[unknown_path]/my_file[.](.+)";
static method (String my_path) {
//local var
String my_match = MY_MATCH;
my_match.replace("[unknown_path]", my_path));
Pattern my_pattern = Pattern.compile(my_match);
}
Мне неловко от замены строки, но я не вижу другого решения.