RegExを使用してファイルからドキュメントコメントを取得するにはどうすればよいですか?

コーリー諸島

巨大なファイルがあるとしましょう。この巨大なファイルには、たくさんのコードが含まれています。このコードでは、すべての関数がXML形式で文書化されています。各ドキュメントは「ドキュメントコメント」(/ **および** /)で囲まれています。ドキュメントコメントの間にないすべてのコードを削除する正規表現が必要です(ドキュメントコメントも含まれますが、必要に応じて後で削除できます)。

スクリプトの一部の例:

/**--------------------------------------------------------------------------**\
<summary>FunctionName</summary>
<returns>
    Returns 1 on success.
    Returns 0 on failure.
</returns>
<remarks>
    This function is a function.
</remarks>
\**--------------------------------------------------------------------------**/

int FunctionName()
{
    int X = 1;
    if(X == 1)
        return 1;
    return 0;
}

期待される出力:

<summary>FunctionName</summary>
<returns>
    Returns 1 on success.
    Returns 0 on failure.
</returns>
<remarks>
    This function is a function.
</remarks>
コビ

次のパターンを使用できます。

/^\/(\*\*-+\*\*)\\$(.*?)^\\\1\/$|./gsm

に置き換え$2ます。

実例:https//regex101.com/r/fA8bP0/1

トリックは基本的に一致する正規表現パターンと同じですが、次の場合を除きます…/間を除いて-必要なものに一致するように交互に使用し、不要なものはすべてスキップします。

パターンに関する注意事項:

  • ^そして$厳密に必要とされていない-それはコメントは行全体であるかどうかに依存します。それらを削除し、/m(複数行)フラグを削除できます。
  • \/(\*\*-+\*\*)\\コメントの1行全体に一致し/**-------**\ます。
  • これらは、ブロックの最初と最後のハイフンの数と同じであると想定し、それをにキャプチャし\1ます。これが正しくない場合は、の\*\*-+\*\*代わりにもう一度使用してください\1ハイフンの数が固定されている場合は、を使用できます-{74}
  • 興味深いコンテンツがにキャプチャされ$1ます。
  • 他のすべては.によって照合され、置き換えられます。
  • 警告:このパターンは通常の方法で失敗する可能性があります-を含む文字列、"/**-"ドキュメントのように見えるコメント付きコード、エスケープ文字など。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Watson Discovery Serviceを使用してドキュメントファイルのURLを取得するにはどうすればよいですか?

分類Dev

RegExを使用してHTMLドキュメントからのリンクをフィルタリングするにはどうすればよいですか?

分類Dev

ファイヤーストアドキュメントからキーを取得するにはどうすればよいですか(swift 4 / iosを使用)

分類Dev

PDFドキュメントを指すURIからファイルパスを取得するにはどうすればよいですか?

分類Dev

VBAを使用してWordドキュメントからUTF-8エンコーディングとしてテキストファイルとして保存するにはどうすればよいですか?

分類Dev

URLからドキュメントフォルダにファイルをコピーするにはどうすればよいですか?

分類Dev

Flutter:cloud_firestoreを使用してドキュメントからコレクションを取得するにはどうすればよいですか?

分類Dev

ドキュメントをpickleファイルに保存するにはどうすればよいですか?

分類Dev

Stardocを使用して複数のファイルのドキュメントを生成するにはどうすればよいですか?

分類Dev

投影プロファイルを使用してドキュメント画像の下線を削除するにはどうすればよいですか?

分類Dev

ドキュメントからPDFファイルを選び、SQLiteに保存して、SQLiteから再度開くにはどうすればよいですか?

分類Dev

MongoDb:ドキュメントからフィールド(サブドキュメント)を取得するにはどうすればよいですか?

分類Dev

Finderのコンテキストメニューから新しいファイルを作成するにはどうすればよいですか?

分類Dev

runQueryとIN演算子を使用して、フィールドがないFirebaseドキュメントを取得するにはどうすればよいですか?

分類Dev

NESTを使用してElasticsearchドキュメントからフィールド値を削除するにはどうすればよいですか?

分類Dev

Doxygenドキュメントでプレーンテキストファイルを取得するにはどうすればよいですか?

分類Dev

ファイルを作成するドキュメントへのS3URLを使用してDjangoメール送信者にドキュメント(pdf /画像)を添付するにはどうすればよいですか?

分類Dev

IText5またはIText7を使用して、AcroFormフィールドを1つのドキュメントから新しい空白のドキュメントにコピー/移動するにはどうすればよいですか?

分類Dev

RESTエンドポイントを使用してSharepointのファイル/フォルダー/ドキュメントのアクセス許可レベルを取得するにはどうすればよいですか?

分類Dev

フィルタを使用してcouchdbからドキュメントを削除するにはどうすればよいですか?

分類Dev

ドキュメントファイルをwagtailからダウンロード可能にするにはどうすればよいですか?

分類Dev

ファイヤーストアドキュメントのフィールドを取得するにはどうすればよいですか?

分類Dev

同じドキュメント番号を共有するドキュメントのコレクションから、Lotusscriptを使用して最後に作成されたドキュメントを特定するにはどうすればよいですか?

分類Dev

Pythonマクロを使用してlibreofficeドキュメントの段落のスタイル名を取得するにはどうすればよいですか?

分類Dev

ドキュメントイベントからreactコンポーネントへの参照を取得するにはどうすればよいですか?

分類Dev

rmarkdownを使用してPDFドキュメントでインライン方程式を取得するにはどうすればよいですか?

分類Dev

Drive APIを使用してGoogleドキュメントをPDFファイルとしてフェッチし、そのBLOBをAPIコンシューマーに送信するにはどうすればよいですか?

分類Dev

マングースを使用して単一のドキュメントから_idを取得するにはどうすればよいですか?

分類Dev

ドキュメントフォルダにファイルが存在するかどうかを確認するにはどうすればよいですか?

Related 関連記事

  1. 1

    Watson Discovery Serviceを使用してドキュメントファイルのURLを取得するにはどうすればよいですか?

  2. 2

    RegExを使用してHTMLドキュメントからのリンクをフィルタリングするにはどうすればよいですか?

  3. 3

    ファイヤーストアドキュメントからキーを取得するにはどうすればよいですか(swift 4 / iosを使用)

  4. 4

    PDFドキュメントを指すURIからファイルパスを取得するにはどうすればよいですか?

  5. 5

    VBAを使用してWordドキュメントからUTF-8エンコーディングとしてテキストファイルとして保存するにはどうすればよいですか?

  6. 6

    URLからドキュメントフォルダにファイルをコピーするにはどうすればよいですか?

  7. 7

    Flutter:cloud_firestoreを使用してドキュメントからコレクションを取得するにはどうすればよいですか?

  8. 8

    ドキュメントをpickleファイルに保存するにはどうすればよいですか?

  9. 9

    Stardocを使用して複数のファイルのドキュメントを生成するにはどうすればよいですか?

  10. 10

    投影プロファイルを使用してドキュメント画像の下線を削除するにはどうすればよいですか?

  11. 11

    ドキュメントからPDFファイルを選び、SQLiteに保存して、SQLiteから再度開くにはどうすればよいですか?

  12. 12

    MongoDb:ドキュメントからフィールド(サブドキュメント)を取得するにはどうすればよいですか?

  13. 13

    Finderのコンテキストメニューから新しいファイルを作成するにはどうすればよいですか?

  14. 14

    runQueryとIN演算子を使用して、フィールドがないFirebaseドキュメントを取得するにはどうすればよいですか?

  15. 15

    NESTを使用してElasticsearchドキュメントからフィールド値を削除するにはどうすればよいですか?

  16. 16

    Doxygenドキュメントでプレーンテキストファイルを取得するにはどうすればよいですか?

  17. 17

    ファイルを作成するドキュメントへのS3URLを使用してDjangoメール送信者にドキュメント(pdf /画像)を添付するにはどうすればよいですか?

  18. 18

    IText5またはIText7を使用して、AcroFormフィールドを1つのドキュメントから新しい空白のドキュメントにコピー/移動するにはどうすればよいですか?

  19. 19

    RESTエンドポイントを使用してSharepointのファイル/フォルダー/ドキュメントのアクセス許可レベルを取得するにはどうすればよいですか?

  20. 20

    フィルタを使用してcouchdbからドキュメントを削除するにはどうすればよいですか?

  21. 21

    ドキュメントファイルをwagtailからダウンロード可能にするにはどうすればよいですか?

  22. 22

    ファイヤーストアドキュメントのフィールドを取得するにはどうすればよいですか?

  23. 23

    同じドキュメント番号を共有するドキュメントのコレクションから、Lotusscriptを使用して最後に作成されたドキュメントを特定するにはどうすればよいですか?

  24. 24

    Pythonマクロを使用してlibreofficeドキュメントの段落のスタイル名を取得するにはどうすればよいですか?

  25. 25

    ドキュメントイベントからreactコンポーネントへの参照を取得するにはどうすればよいですか?

  26. 26

    rmarkdownを使用してPDFドキュメントでインライン方程式を取得するにはどうすればよいですか?

  27. 27

    Drive APIを使用してGoogleドキュメントをPDFファイルとしてフェッチし、そのBLOBをAPIコンシューマーに送信するにはどうすればよいですか?

  28. 28

    マングースを使用して単一のドキュメントから_idを取得するにはどうすればよいですか?

  29. 29

    ドキュメントフォルダにファイルが存在するかどうかを確認するにはどうすればよいですか?

ホットタグ

アーカイブ