Java - regulärer Ausdruck, der Kommentare im Code findet
Ein bisschenSpaß diesmal mit Java. Ich möchte ein Programm schreiben, das einen Code von der Standardeingabe liest (zeilenweise, zum Beispiel), wie:
// some comment
class Main {
/* blah */
// /* foo
foo();
// foo */
foo2();
/* // foo2 */
}
findet alle Kommentare darin und entfernt sie. Ich versuche, reguläre Ausdrücke zu verwenden, und jetzt habe ich so etwas gemacht:
private static String ParseCode(String pCode)
{
String MyCommentsRegex = "(?://.*)|(/\\*(?:.|[\\n\\r])*?\\*/)";
return pCode.replaceAll(MyCommentsRegex, " ");
}
aber es scheint nicht in allen Fällen zu funktionieren, z.
System.out.print("We can use /* comments */ inside a string of course, but it shouldn't start a comment");
Irgendwelche Ratschläge oder Ideen, die sich von denen von Regex unterscheiden? Danke im Voraus.