ホームページ > Java > &#&チュートリアル > 正規表現は文字列から C スタイルの複数行コメントを効率的に削除するにはどうすればよいでしょうか?

正規表現は文字列から C スタイルの複数行コメントを効率的に削除するにはどうすればよいでしょうか?

Patricia Arquette
リリース: 2024-12-05 02:39:09
オリジナル
593 人が閲覧しました

How Can a Regex Efficiently Remove C-Style Multiline Comments from a String?

C スタイルの複数行コメントと正規表現の一致

C スタイルの複数行コメントを含まない文字列を抽出する必要がありますか?このタスクに効果的に取り組む正規表現ソリューションを詳しく見てみましょう。

指定された文字列から / これはコメントです */ のような複数行のコメントを効率的に削除するには、特定の正規表現を使用します:

/\*[^*]*\*+(?:[^/*][^*]*\*+)*\*/
ログイン後にコピー

この複雑なパターンは次のように分解されます。以下:

  • /* - スラッシュの後にアスタリスクを続けてコメントを開始します。
  • 1* - を除く任意の文字に 0 回以上一致し、その後に 1 つ以上のリテラルが続きますアスタリスク。
  • (?:21* ) - ゼロまたはそれ以上の繰り返し以下:

    • 21* - 非 /) および 以外の文字の後に 1 つ以上の文字が続くアスタリスク。
  • / - 閉じスラッシュでコメントを終了します。

この正規表現は、これらのセグメントを 1 つずつ照合することで、複数行のコメントを包括的に識別します。 David の正規表現ではサンプル文字列の処理に 26 ステップが必要ですが、この最適化されたパターンではわずか 12 ステップでタスクを完了します。 David のソリューションはその複雑な構造によりスタック オーバーフローの問題に直面する可能性があるため、大規模な入力文字列の場合、効率の利点が明らかになります。

この非常に効率的な正規表現を利用することで、入力文字列から複数行のコメントを簡単に削除できます。それらはきれいで、不必要な乱雑さはありません。


  1. *
  2. /*

以上が正規表現は文字列から C スタイルの複数行コメントを効率的に削除するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート