私は、次のサイクルがありますパターンマッチが無限ループにサイクルを置き換える
public class Main {
public static void main (String[] args){
String test = "#{value} lorem ipsum #{value} lorem ipsum";
String regex = "(#\\{)([^}]*)(})";
Pattern callPattern = Pattern.compile(regex);
Matcher callMatcher = callPattern.matcher(test);
while (callMatcher.find()) {
test = callMatcher.replaceFirst(generate());
}
System.out.println(test);
}
private static String generate(){
Random random = new Random();
return String.valueOf(random.nextInt(100));
}
}
と実行が私のwhileループで立ち往生し。私は過去に似たようなアルゴリズムを使用しています。それは、最初のオカレンスを置き換えることができるように見えるが、2番目のオカレンスを見つけるが、決してそれを置き換えることはない。その理由は、あなたのケースでのMatcherあることがwhile
ループ内では同じまま
ありがとうございます。できます。今私が以前に働いた他の同様のサイクルがどうだったのだろうか。私は同じプロジェクトに少なくとももう1つは持っています。 – EBM