0
Ich habe den folgenden Code.Pattern Matcher gibt keine erwartete Ausgabe
String testdata = "%%%variable1%%% is not equal to %%%variable2%%%";
Pattern p = Pattern.compile("\\%%%(.*?)\\%%%");
Matcher m = p.matcher(testdata);
String variables = "";
int i = 0;
while (m.find()) {
System.out.println(m.group());
variables=m.group().replaceAll("%%%", "");
System.out.println(variables);
i++;
}
Ich versuche, die Zeichenfolge innerhalb zwei %%%
zu drucken. erwarten So unten Ausgang Ich bin:
%%%variable1%%%
variable1
%%%variable2%%%
variable2
Aber die tatsächliche Ausgabe lautet:
%%%variable1%%%
variable1
variable2
variable2
Warum ist es so? Was ist das Problem damit?
Was passiert, wenn Sie 'i ++' entfernen und 'group (0)' verwenden? – npinti
@npinti: Es hat funktioniert. Vielen Dank. :) – manutd
Hätte es noch eine Variable gegeben, hätte es einen Fehler gegeben .. – rock321987