Javascript XML文档正则表达式

时间:2013-02-04 19:23:24

标签: javascript xml regex

我正在创建一个小型库,用于以下列格式解析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 /);

但这场比赛没有奏效,我希望有人可以帮我解决这个正则表达式,谢谢。

1 个答案:

答案 0 :(得分: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是一个字符串文件。