derletztekick: RegExp in JAVA

Beitrag lesen

Hallo,

ich versuche mich gerade ein wenig an regulären Ausdrücken - mehr schlecht als recht.

Ich habe einen simplen String, aus dem ich zwei Teile haben möchte. Gleich vorweg, split() wäre hier wohl die bessere Wahl und mir durchaus geläufig.

Einfaches Beispiel:

  
String str = "1234=Hallo Welt";  
String rep = str.replaceAll("^([0-9]+?)[=]{1}(.+?)", "$1 und $2");  
System.out.println(rep); // 1234 und Hallo Welt

Was muss ich aber tun, damit ich nur die Ziffern bekomme?
Nur der Text geht mit: String rep = str.replaceAll("^([0-9]+?)[=]{1}(.+?)", "$2");.

Warum geht dann String rep = str.replaceAll("^([0-9]+?)[=]{1}(.+?)", "$1"); nicht so, wie ich es vermutet hätte oder ist nur replaceAll() ungünstig für mein Vorhaben?

Mit freundlichem Gruß
Micha