fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.*;
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. String s = "This is my \"test\" case\nwith lines\n\\section{new section}\nAnother incorrect test\"\n\\section{next section}\nWith some more \"text\"\n\\subsection{next section}\nWith some more \"text1\"";
  13. StringBuffer result = new StringBuffer();
  14. Matcher m = Pattern.compile("(?s)section.*?(?=section|$)").matcher(s);
  15. while (m.find()) {
  16. String out = m.group(0).replaceAll("\"([^\"]*)\"", "«$1»");
  17. m.appendReplacement(result, Matcher.quoteReplacement(out));
  18. }
  19. m.appendTail(result);
  20. System.out.println(result.toString());
  21.  
  22. }
  23. }
Success #stdin #stdout 0.07s 34028KB
stdin
Standard input is empty
stdout
This is my "test" case
with lines
\section{new section}
Another incorrect test"
\section{next section}
With some more «text»
\subsection{next section}
With some more «text1»