Я пытаюсь прочитать все строки кода из файла .java, кроме комментариев.
(Вы пытаетесь извлечь код или просто сосчитаете строки кода?)
Простой линейный подход, который вы, вероятно, не совсем точный.Например, рассмотрим это:
/* The next line is wrong:
res = 1 / 0;
*/
Строковый анализ заключит, что вторая строка - это код ... когда это на самом деле комментарий.регулярное выражение заключается в том, что есть все виды крайних случаев.Например:
System.err.println("/* hello mum ");
System.err.println("*/");
Или
\u002f* This is a comment *\u002f
Я не говорю, что регулярные выражения не могут использоваться .Я просто говорю, что ваш код будет проще и, вероятно, менее хрупким, если вы используете правильный анализатор Java.