問題は、コメントの両側のすべてのテキストを一致させ、コメント自体を除外したいということです。
「コメント」関連の正規表現の投稿はたくさんありますが、ほとんどは他の言語で書かれており (私はメモ帳++を使用していますが、これはウィキペディアが POSIX ERE であると言っています。言語やツールについては議論しないでください)、ほとんどはコメントを見つけることに焦点を当てています。すでに行われています。
これにより、私が望む包括的なテキストが見つかります(これには、一致に内部ブロックコメントが含まれます):
(^)rule ((.|\n|\r)*?)(^)end
上記は、'rule' と 'end' の間 (両端を含む) を検索します。罰金。
これにより、ブロック コメントが検索されます。
(?:/\*(?:(?:[^*]|\*(?!/))*)\*/)
上記は、 ~ の間 (両端を含む) を検索し/*
ます*/
。罰金。*/
私の場合は問題ではなく、コメント内に 1 つあるかどうかは気にしません。
ここで問題は、ブロック コメントを上記のポジティブ ルール マッチの途中でネガティブに配置して、コメント付きテキストRULE
とそれ以外のすべてにマッチさせるにはどうすればよいかということです。END
回答に 1 行の//
コメントも含まれていない場合はボーナス ポイントです。