Hallo,
und zwar frage ich mich wieso bei s2 das falsche Ergebnis ausgegeben wird und wie ich meinen Regex gestalten muß, damit immer "bDatum" rauskommt.
Ich stehe irgendwie auf dem Schlauch, für mich sieht das korrekt aus :rtfm::autsch:
Output:
Vielen dank im voraus!
und zwar frage ich mich wieso bei s2 das falsche Ergebnis ausgegeben wird und wie ich meinen Regex gestalten muß, damit immer "bDatum" rauskommt.
Ich stehe irgendwie auf dem Schlauch, für mich sieht das korrekt aus :rtfm::autsch:
Java:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyRegex {
private static final Pattern p = Pattern.compile(".*getSystemPara\\(.*,\\s*\"(.*)\"\\s*\\).*");
private static final String s1 = "showDate = systemSettings.getSystemPara(MODULE_ID, \"bDatum\");";
private static final String s2 = "showDate = systemSettings.getSystemPara(MODULE_ID, \"bDatum\").equals(\"1\");";
/**
* @param args
*/
public static void main(String[] args) {
Matcher m = p.matcher(s1);
System.out.println(m.replaceAll("$1"));
m = p.matcher(s2);
System.out.println(m.replaceAll("$1"));
}
}
Output:
bDatum <--- wie erwartet
bDatum").equals("1 <--- verstehe ich nicht
Vielen dank im voraus!