Tôi có một vấn đề với các replaceAll cho một chuỗi multiline:Java regex replaceAll multiline
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");
Các công trình trên cho testWorks, nhưng không phải cho testIllegal !? Tại sao điều đó và làm thế nào tôi có thể khắc phục điều này? Tôi cần phải thay thế một cái gì đó như một bình luận/* ... */kéo dài nhiều dòng.
Và chuỗi này là gì: '" String s = \ "/ * \";/* chú thích */"' –
Vấn đề là regex toán chỉ nên khớp trong phần đầu của chuỗi. Bây giờ nó trông như thế này: (? S)^\\ s */\\ *. * \\ */Không chắc chắn mặc dù, nếu để làm cho nó miễn cưỡng (? S)^\\ s */\\ *. *? \ */ – Robert