Java - expression régulière trouvant des commentaires dans le code

Un peu plaisir avec Java cette fois. Je veux écrire un programme qui lit un code de l'entrée standard (ligne par ligne, par exemple), comme:

//some comment
class Main {
    /* blah */
    ///* foo
    foo();
    //foo */
    foo2();
    /* //foo2 */
}

trouve tous les commentaires et les supprime. Je suis en train d'utiliser des expressions régulières, et pour l'instant j'ai fait quelque chose comme ceci:

private static String ParseCode(String pCode)
{
    String MyCommentsRegex = "(?://.*)|(/\\*(?:.|[\\n\\r])*?\\*/)";
    return pCode.replaceAll(MyCommentsRegex, " ");
}

mais il semble ne pas fonctionner pour tous les cas, par exemple:

System.out.print("We can use /* comments */inside a string of course, but it shouldn't start a comment");

Des conseils ou des idées différentes de regex?
Merci à l'avance.

source d'informationauteur brovar