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

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

DDD
リリース: 2024-11-30 19:27:17
オリジナル
159 人が閲覧しました

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

C スタイルの複数行コメントと正規表現のマッチング

さまざまなプログラミング コンテキストにおいて、ソース コードまたはテキストから複数行のコメントを削除することが必要になります。 。このタスクは、正規表現を使用して効率的に実行できます。

たとえば、C スタイルの複数行コメントを含む次の文字列について考えてみましょう。

String src = "How are things today /* this is comment *\*/ and is your code  /*\* this is another comment */ working?"
ログイン後にコピー

目的は、両方のコメント部分文字列を src から削除することです。 string.

正規表現の解決策:

これを実現するには

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

この正規表現パターンは次のコンポーネントで構成されます:

  • /\* および /: の先頭と末尾を一致させます。 comment.
  • [^*]** : 「*」を除く 0 個以上の文字と、その後に続く 1 個以上の文字に一致しますアスタリスク。
  • (?:): 非キャプチャ グループを開始します。
  • [^/*][^*]** : グループ内で、"/ ではない文字と一致します。 " または "" の後に "" を除く 0 文字以上の文字と 1 文字以上の文字が続くアスタリスク。
  • )*: グループを 0 回以上繰り返します。

次の例に示すように、このパターンは文字列を効率的にスキャンし、複数行のコメントと一致します。

Pattern p = Pattern.compile(pat);
Matcher m = p.matcher(src);
m.replaceAll(""); // Replaces comments with an empty string
System.out.println(m); // Prints the result: How are things today and is your code working?
ログイン後にコピー

このアプローチにより、文字列から複数行のコメントを効率的に削除できるため、テキスト処理やコード分析タスクにとって価値のあるツールになります。

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

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