检查该行是否包含/ *

时间:2013-08-03 20:49:12

标签: java code-analysis readline block-comments

我想检查一下我的行是否包含/*。我知道如何检查块注释是否在开头:

/* comment starts from the beginning and ends at the end */

if(line.startsWith("/*") && line.endsWith("*/")){

      System.out.println("comment : "+line);  
}

我想知道的是如何计算评论,如下:

something here /* comment*/

something here /*comment */ something here

3 个答案:

答案 0 :(得分:1)

尝试使用此模式:

String data = "this is amazing /* comment */ more data ";
    Pattern pattern = Pattern.compile("/\\*.*?\\*/");

    Matcher matcher = pattern.matcher(data);
    while (matcher.find()) {
        // Indicates match is found. Do further processing
        System.out.println(matcher.group());
    }

答案 1 :(得分:1)

这适用于// single和多行/* comments */

Pattern pattern = Pattern.compile("//.*|/\\*((.|\\n)(?!=*/))+\\*/");
String code = " new SomeCode(); // comment \n" + " " + "/* multi\n"
        + " line \n" + " comment */\n"
        + "void function someFunction() { /* some code */ }";
Matcher matcher = pattern.matcher(code);
while (matcher.find()) {
    System.out.println(matcher.group());
}

输出

// comment 
/* multi
 line 
 comment */
/* some code */

答案 2 :(得分:0)

你可以通过多种方式,这里有一个:

在字符串中找到“/ *”:

int begin = yourstring.indexOf("/*");

为“* /”

执行相同的操作

这将为您提供两个Integers,您可以使用它来获取包含注释的子字符串:

String comment = yourstring.substring(begin, end);