Hallo,
ich habe ein Problem beim umsetzen eines regulären Ausdrucks. Mein kleiner Codeauschnitt soll Assemblercode aufräumen und von Kommentaren befreien. Mit dem Online Tool (regexe - Reguläre Ausdrücke online testen) haben alle Audrück korrekt funktioniert.
Eingabe:
Die Ausgabe sollte dann so aussehen:
Es passiert aber überhaupt nichts, der Assemblercode kommt raus wie er rein ging
ich habe ein Problem beim umsetzen eines regulären Ausdrucks. Mein kleiner Codeauschnitt soll Assemblercode aufräumen und von Kommentaren befreien. Mit dem Online Tool (regexe - Reguläre Ausdrücke online testen) haben alle Audrück korrekt funktioniert.
Java:
//Tabulatoren durch Space ersetzen
sourceCode.replaceAll("[\t]{1,}", " ");
//Lerrzeichen auf eins reduzieren
sourceCode.replaceAll("[ ]{2,}", " ");
//Zeilenkommentare löschen
sourceCode.replaceAll("(([ ]*$)|[ ]*[;].*)", "");
//Kommas mit vorhergenden und nachfolgenden Space mit einemSpace ersetzen
sourceCode.replaceAll("([ ]*,[ ]*)", " ");
//Ausgabe
System.out.print(sourceCode);
Eingabe:
Code:
ORG 0023h
LJMP isrserial ;fsdfgs
ORG 0600h
MOV SP,#7Fh
SETB P1.4
SETB P1.7 ;bla
MOV P4,#255
MOV SCON , #0D0h
CLR BD
;xyzsdf CLR BD
MOV TMOD,#10h ;sdfsgdfgsd
ANL PCON,#7Fh
;klsfdg ffgfghtfh
MOV TH1 , #0FDh
Die Ausgabe sollte dann so aussehen:
Code:
ORG 0023h
LJMP isrserial
ORG 0600h
MOV SP #7Fh
SETB P1.4
SETB P1.7
MOV P4 #255
MOV SCON #0D0h
CLR BD
MOV TMOD #10h
ANL PCON #7Fh
MOV TH1 #0FDh
Es passiert aber überhaupt nichts, der Assemblercode kommt raus wie er rein ging