I am trying to delete LaTeX comments in a string:
input string:
\begin{comment}inside \n comment 1 \end{comment} something outside comments \begin{comment} inside comment 2 \end{comment} after comment 2
output:
\begin{comment}inside comment 1 \end{comment} something outside comments after comment 2
Desirable output:
something outside comments after comment 2
Sample Code:
public static void main(String[] args) {
String input = "\\begin{comment}inside \n comment 1 \\end{comment} something outside comments \\begin{comment} inside comment 2\\end{comment} after comment 2";
System.out.println(input.replaceAll("\\\\begin\\{comment\\}(.*|[\\s]*|\\n*)\\\\end\\{comment\\}", ""));
}
So the problem is that this regex is not detecting \n.
I used the following link to form the regex :
Either compile your
Patternwith thePattern.DOTALLoption, or add the equivalent flag expression(?s)to your regex, so that.matches\n. Also, you regex doesn’t seem to be working, try the following: