Java : Pattern-Problem

Ansics

Cadet 4th Year
Registriert
Mai 2003
Beiträge
107
Hi,

Ich habe folgendes Problem: Ich möchte in Java einen String nach einem Muster scannen und in Gruppen aufteilen. Der String den ich scannen möchte ist allerdings variabel, so dass die Anzahl der Gruppen evtl varriert:

Pattern GAMESTATE = Pattern.compile("\\(GameState( \\([^ ]* [^)]*\\))*");

Ich habe also erste den String "(Gamestate" und dann jeweils solche Strings " (xxx xxx)". Von letzteren können unterschiedlich viele kommen, so daß ich jeden einzelnen von ihnen durch eine eigene Gruppennummer ansprecen möchte. Z.B. m.group(2);
Ok so wei der Plan. Mit obigen Pattern legt Java aber nicht beliebig viele Gruppen an, sondern der Stern(*) am Ende von (xxx xxx)* bewirkt, dass ich nur eine Gruppe bekomme. Wie kann das sein und was muss ich ändern?

Ich hoffe Ihr habt mich versanden ;)

VG
Ansics
 
Du kannst doch einfach einfach nach nem Leerzeichen ausserhalb einer Klammer scannen... Also alle öffnenden Klammern zählen und wenn du wieder auf der "root" ebene bist und ein Leerzeichen findest ist das ein Teilstring. Die kannst dir dann ja alle in nen Container reinspeichern und sie so auch leicht ansprechen.


Oder habe ich dich falsch verstanden??


- booZy
 
Zurück
Oben