2011-11-26 64 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 –

相關問題