Maison > Java > javaDidacticiel > Comment les expressions régulières peuvent-elles supprimer efficacement les commentaires multilignes de style C d'une chaîne ?

Comment les expressions régulières peuvent-elles supprimer efficacement les commentaires multilignes de style C d'une chaîne ?

DDD
Libérer: 2024-11-30 19:27:17
original
165 Les gens l'ont consulté

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

Faire correspondre les commentaires multilignes de style C avec les expressions régulières

Dans divers contextes de programmation, il devient nécessaire de supprimer les commentaires multilignes du code source ou du texte . Cette tâche peut être accomplie efficacement à l'aide d'expressions régulières.

Par exemple, considérons la chaîne suivante contenant des commentaires multilignes de style C :

String src = "How are things today /* this is comment *\*/ and is your code  /*\* this is another comment */ working?"
Copier après la connexion

L'objectif est de supprimer les deux sous-chaînes de commentaires du src string.

Solution Regex :

Pour accomplir cette tâche, une regex robuste et efficace Le modèle est :

String pat = "/\*[^*]*\*+(?:[^/*][^*]*\*+)*/"
Copier après la connexion

Ce modèle d'expression régulière se compose des composants suivants :

  • /\* et / : correspondent au début et à la fin du commentaire.
  • [^*]** : Faites correspondre 0 caractères ou plus sauf "*", suivi d'1 ou plusieurs astérisques.
  • (?:) : démarrez un groupe non capturant.
  • [^/*][^*]** : Au sein du groupe, faites correspondre un caractère qui n'est pas "/" ou "", suivi de 0 ou plusieurs caractères sauf "", et 1 ou plusieurs astérisques.
  • )* : Répétez le groupe 0 fois ou plus.

Ce modèle est efficace analyse la chaîne et fait correspondre les commentaires multilignes, comme démontré dans l'exemple suivant :

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?
Copier après la connexion

Cette approche permet une suppression efficace des commentaires multilignes des chaînes, ce qui en fait un outil précieux pour les tâches de traitement de texte et d'analyse de code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal