2013-02-04 23 views
0

我創建一個小型圖書館在以下格式在JavaScript文件解析XML文檔:的Javascript XML文檔的正則表達式

/// <doc type="function" name="parse"> 
///  <summary>Parses javascript documentation</summary> 
///  <param name="js" type="string">Javascript input</param> 
/// </doc> 
var parse = function(js) { ... }; 

/// <doc type="string"> 
/// <summary>Holding the version of our library</summary> 
/// </doc> 
var VERSION = '0.0.1'; 

我要創建的正則表達式返回和標籤之間的內容。我試過以下的正則表達式,但它失敗:

var xmlComments = js.match(/ \/\/\/(\s)<doc(.*)>(.*)<\/doc>/gi /); 

但比賽沒有工作,我希望有人能幫助我這個正則表達式,謝謝。

+0

你如何調用'parse'?換句話說:你如何從源頭獲得文檔評論? –

回答

1

如果你試圖讓開閉doc標籤之間的內容,你可以使用

/<doc[^>]*>([\s\S]+?)<\/doc>/gi 

其中[\s\S]是任意字符,包括換行符(.將不匹配換行符)。

例如

var xmlComments = [], 
    regex = /<doc[^>]*>([\s\S]+?)<\/doc>/gi, 
    match = regex.exec(js); 

while (match != null) { 
    xmlComments.push(match[1]); 
    match = regex.exec(js); 
} 

其中js是該文件作爲一個字符串。