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';

タグとタグの間のコンテンツを返す正規表現を作成する必要があります。次の正規表現を試しましたが、失敗しました。

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 に答える