我正在创建一个小型库,用于以下列格式解析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 :(得分: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
是一个字符串文件。