Java Pattern Matchter не группируется соответственно [дублировать]JAVA

Программисты JAVA общаются здесь
Anonymous
Java Pattern Matchter не группируется соответственно [дублировать]

Сообщение Anonymous »

Мы получили шаблон: < /p>

Pattern TRANSLATION_RAW_PATTERN = Pattern.compile("(?(\\$\\{(?.*?)\\}))|(?(.*?))")
< /code>

и ввод: < /p>

$ />
Но это на самом деле приводит к «что -то} $ {что -то.else» < /p>

String rawContents = getContents();
Matcher contentMatcher = TRANSLATION_RAW_PATTERN.matcher(rawContents);

while (contentMatcher.matches())
{
final String keyGroupMatching = contentMatcher.group("keydata");
if (keyGroupMatching == null)
{
break;
}

rawContents = rawContents.replace("${" + keyGroupMatching + "}", I18n.translateToLocal(keyGroupMatching));
contentMatcher = TRANSLATION_RAW_PATTERN.matcher(rawContents);
}

return rawContents;
< /code>

Это уже происходит на первой итерации. В первый раз, когда он получает группу, она уже извлекает ее неправильно.>

Подробнее здесь: https://stackoverflow.com/questions/521 ... ccordingly

Вернуться в «JAVA»