2011-11-26 63 views
3

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

样本字符串是。而且是有/*后和前一个换行符*/

/* 
Comment Here 
Comment Here 
*/ 
+0

? –

+0

我正在使用PHP。对不起,我忘了提及它.. :) – Glemour

回答

2

如果使用/作为分隔符是相当棘手的,因为那时正则表达式中的斜杠需要转义,因此使用不同的delimiter代替:

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

s最后一个分隔符后是DOTALL modifier

2

你还没说你用的是什么语言,但这正则表达式将针对Java工作(不需要逃逸/):

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

组1(即\1)的内容你寻找

+0

嗨波希米亚..我使用PHP。对不起,我忘了提及它。 – Glemour

2

不知道你在找什么正则表达式,但是你可以找到一个很好的讨论,找到使用正则表达式here的评论。检查它 - 这不是一个简单的,因为这里的几个早期答案建议。

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

+0

谢谢戴夫参考。我也检查出来.. – Glemour

1

在PHP中,使用此

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

你也可以修剪的比赛太多,如果你您正在使用什么语言想

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

OMG ..这一个工作..非常感谢你;) – Glemour

+0

哈哈,你听起来很惊讶! :d –

相关问题