myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Java: Regulärer Ausdruck (https://mygully.com/showthread.php?t=3155739)

Dante1253 05.01.14 12:08

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:55 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.