0

我正在创建一个小型库,用于解析 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';

我必须创建一个正则表达式来返回 and 标记之间的内容。我尝试了以下正则表达式,但失败了:

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

但是匹配不起作用,我希望有人可以帮助我解决这个正则表达式,谢谢。

4

1 回答 1

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作为字符串的文件在哪里。

于 2013-02-04T23:03:31.717 回答