删除文本中的注释JAVA
时间: 2023-11-11 08:05:36 浏览: 37
在Java中,注释可以使用 // 或者 /* */ 进行表示。因此,我们可以使用正则表达式来匹配并删除注释。以下是一个例子:
```java
String codeWithComments = "public class Example { // This is a comment\n" +
" // This is another comment\n" +
" public static void main(String[] args) {\n" +
" /* This is a multi-line comment\n" +
" that spans multiple lines */\n" +
" System.out.println(\"Hello, world!\");\n" +
" }\n" +
"}";
String codeWithoutComments = codeWithComments.replaceAll("(?s)\\/\\/.*|\\/\\*.*?\\*\\/", "");
System.out.println(codeWithoutComments);
```
输出:
```
public class Example {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
```
正则表达式 `(?s)\/\/.*|\/\*.*?\*\/` 匹配了两种注释格式:// 开头的单行注释和 /* */ 包含的多行注释。其中,`(?s)` 表示将 . 匹配符号也包括换行符,`\/\/.*` 匹配以 // 开头的单行注释,`\/\*.*?\*\/` 匹配以 /* 开头、以 */ 结尾的多行注释。`|` 表示或者的意思,即匹配两种注释格式中的任意一种。`.*?` 表示非贪婪匹配,即尽可能少的匹配字符,避免跨越多个注释而匹配过多的代码。最后使用 `replaceAll` 方法将匹配到的注释全部替换为空字符串,即删除注释。