I have a problem with the replaceAll for a multiline string:
String regex = "\\s*/\\*.*\\*/";
String testWorks = " /** this should be replaced **/ just text";
String testIllegal = " /** this should be replaced \n **/ just text";
testWorks.replaceAll(regex, "x");
testIllegal.replaceAll(regex, "x");
The above works for testWorks, but not for testIllegal!?
Why is that and how can I overcome this? I need to replace something like a comment /* … */ that spans multiple lines.
You need to use the
Pattern.DOTALLflag to say that the dot should match newlines. e.g.or alternatively specify the flag in the pattern using
(?s)e.g.