regulären Ausdrücken

  • Themenstarter Themenstarter OsamMonier_23238
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
O

OsamMonier_23238

Gast
Hallo,

ich schreibe gerade ein Methode, die mir den Wert (in ein oder mehrer zeile in File) nach einen bestimmten Ausdrück zurück gibt.

ein Zeile in der File ist zum Beispiel :
Code:
 #13317  :(037B9310) Wert -> TextText

Also ich möchte gerne den Wert in einem String speichern
Java:
try { 
        FileReader fr = new FileReader(file);
        BufferReader br = new Bufferreader(fr);

             while((line = br.readLine()) != null{
Scanner scanner = new Scanner(line);
String P = "^# [0-9]+\t\:\([0-9A-Za-z]+\)";
<< // und hier funktioniert nicht mein Reg. Aus. entspricht nicht #13317  :(037B9310)
Pattern p = Pattern.Compile(p);
scanner.useDelimiter(p);
String wert = scanner.next();
} // end while


ich bitte um hilfe
vielen dank
System.out.println(String.valueOf());
}
 
Zuletzt bearbeitet von einem Moderator:
> ^# [0-9]

das Leerzeichen zwischen # und der Zahl?

und wenn noch nicht fertig, dann fange klein an, versuche erst nur #13317 zu parsen, dann immer mehr dazu,
ab wann gibts Probleme?
 
Code:
//pattern: "^#\\d+\\s*:\\((?:\\d|\\w)*\\)\\s*([^\\s]+)\\s*->\\s*(.*)"
//input: "#13317  :(037B9310) Wert -> TextText"

liefert: 

start() = 0, end() = 36
group(0) = "#13317  :(037B9310) Wert -> TextText"
group(1) = "Wert"
group(2) = "TextText"

mit diversen Freiheiten was whitespaces angeht
in group 1 also immer der wert in group 2 immer der text .. wenn du den auch brauchst

festlegungen:
- muss mit # beginnen (kein whitespace davor)
- direkt danach mind 1 Zahl, maximal n
- danach beliebig viele whitespaces oder keines
- 1 Doppelpunkt
- direkt danach eine öffnende Klammer
- beliebige Folge von Zahlen oder Buchstaben
- direkt danacht eine schliessende Klammer
- beliebig viele whitespaces oder keines
- danach ein Wert der alles enthält ausser whitespaces
- danach beliebig viele whitespaces oder keines
- der Pfeil
- danach beliebig viele whitespaces oder keines
- danach der Text bestehend aus irgendwas
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben