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

时间:2011-11-26 12:35:59

标签: php regex

我需要在/* */注释标记之间获取字符串。我试图解析一个文件,只是在其中的注释标记之间获取字符串。我是使用正则表达式的新手。因此,任何建议将不胜感激。我已经尝试了一些,但没有一个正在工作。

示例字符串将是。是的,在/*之后和*/

之前有换行符
/*
 Comment Here
 Comment Here
*/

4 个答案:

答案 0 :(得分:2)

如果使用/作为分隔符,这很棘手,因为正则表达式中的斜杠需要转义,因此请改用其他delimiter

"#/\*(.*?)\*/#s"

最后一个分隔符后面的sDOTALL modifier

答案 1 :(得分:2)

你还没有说过你正在使用的语言,但是这个正则表达式适用于java(它不需要转义/):

(?s)/\*(.*?)\*/

第1组(即\1)包含您寻找的内容

答案 2 :(得分:2)

不确定您正在寻找什么样的正则表达式,但您可以找到使用正则表达式here查找注释的良好讨论。检查一下 - 这并不简单,因为这里有几个早期的答案。

但请注意,网站上的正则表达式与评论相匹配 - 您需要在此处应用其中一个答案,以根据需要提取文本。

答案 3 :(得分:1)

在php中,使用此

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

如果你想要

,你也可以修剪比赛
$result = trim($matches[1]);