Einzelnen Beitrag anzeigen
Ungelesen 05.01.14, 12:08   #1
Dante1253
Mitglied
 
Registriert seit: Aug 2009
Beiträge: 398
Bedankt: 131
Dante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt Punkte
Standard Java: Regulärer Ausdruck

Hallo,
ich verzeifel ein wenig an einem regulären Ausdruck in Java.

Er soll folgendes machen:
- Eingabe ein String, in dem Java-Quellcode enthalten ist.
- Ausgabe ein String, in dem IF-ELSE IF - ELSE-Konstrukte entfernt werden, wobei der letzte ELSE-Teil optional sein soll.

Mein momentaner regulärer Ausdruck ist der folgende:
Code:
\\sif\\s*\\(.*\\)\\s*\\{.*\\}(\\s*else\\s*if\\s*\\(.*\\)\\s*\\{.*?\\})+(\\s*else\\*\\{.*?\\}){0,1}
Damit habe ich nun mehrere Probleme:
1. wird ein ausdruck der form
Code:
if (bedingung)
  return 1;
else if (bedingung 2)
  return 2;
(also ohne {} da nur 1 zeilig) nicht erkannt.

2. Anweisungen nach dem letzten else if verschwinden, d.h.:
Code:
public static int hallo(Integer n) {"
                    + "\nif(n==0) {n return 5;} else if ( n == 9 ) {return 500;} while () { }}
wird zu: public static int hallo(Integer n) {}

Würde mich über eine Idee wirklich sehr freuen

Liebe Grüße,
Dante
Dante1253 ist offline   Mit Zitat antworten