REGEX获取注释标签之间的字符串(/* string */)


REGEX Get string between comment tags ( /* string */)

我需要在/* */注释标签之间获得字符串。我试图解析一个文件,只是得到其中的评论标签之间的字符串。我是使用正则表达式的新手。所以任何建议都将非常感激。我已经试了一些,但没有一个工作。

示例字符串将是。是的,在/*之后和*/之前有一个换行符

/*
 Comment Here
 Comment Here
*/

您还没有说您正在使用什么语言,但是这个正则表达式将适用于java(不需要转义/):

(?s)/'*(.*?)'*/

组1(即'1)包含您所查找的内容

如果使用/作为分隔符会很棘手,因为这样正则表达式内的斜杠需要转义,所以使用不同的分隔符:

<>之前"#/'*(.*?)'*/# s"之前

最后一个分隔符后面的s是DOTALL修饰符

不确定您在寻找什么样的正则表达式,但是您可以在这里找到关于使用正则表达式查找注释的很好的讨论。看看吧——它并不像这里早期的几个答案所暗示的那样简单。

但是,请注意站点上的正则表达式匹配注释——然后您需要应用这里的其他答案之一来根据需要提取文本。

在php中使用

if (preg_match('%/'*(.*?)'*/%s', $subject, $matches)) {
    $result = $matches[1];
} else {
    $result = "";
}

如果你想,你也可以修改匹配

$result = trim($matches[1]);